0
在routes.rb中我有沒有路由的比賽,但我使用資源的routes.rb
Rails.application.routes.draw do
get 'password_resets/new'
get 'password_resets/edit'
get 'sessions/new'
get 'account_activation/edit'
root 'static_pages#home'
get 'help' => 'static_pages#help'
get 'sign_up' => 'user#new'
get 'login' => 'sessions#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
post 'sign_up', to: 'user#create'
resources :user
resources :account_activation, only: [:edit]
resources :password_resets, only: [:new, :create, :edit, :update]
resources :purchases, only: [:create, :destroy]
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end
我user_controller
class UserController < ApplicationController
before_action :logged_in_user, only: [:show, :edit, :update]
before_action :correct_user, only: [:show, :edit, :update]
def show
@user = User.find_by(id: params[:id])
@purchases = @user.purchases.paginate(page: params[:page])
@purchase = current_user.purchases.build
end
def index
if logged_in?
redirect_to root_url
else
redirect_to sign_up_path
end
end
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
@user.send_account_activation_email
flash[:info] = 'check'
redirect_to root_url(@user)
else
render 'new'
end
end
def edit
end
def chart
end
def update
if @user.update_attributes(user_params)
flash[:success] = 'updated'
redirect_to @user
else
render 'edit'
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end
def correct_user
@user = User.find_by(id: params[:id])
redirect_to(root_url) unless current_user?(@user)
end
end
定義兩者有一個觀點,但是當我鍵入localhost: 300 /用戶/(ID)/圖瀏覽器的軌道告訴我沒有發現路由匹配,但是用戶/(ID)/編輯工作
當我使用耙路線 圖表做路線
不顯示我看到MHartl rubyonrails教程屏幕劇照 他這樣做都是這樣的 問題在哪裏?
i的控制器定義的圖表編輯後befor更新 –
否路線匹配[GET]「/ user/6/chart」 –