我得到这个错误:Couldn't find User with 'id'=sign_up
当我试图去localhost:3000/users/sign_up in我的URL浏览器。Ruby on Rails 4:设计用户控制器,找不到用户'id'= sign_up
我有生成的单独的用户控制器...
我这样做:
rails g devise:controllers users
rails g controller Users show
我没有碰,是由色器件所产生的控制器。
在我所创建的普通用户控制器,我有这样的:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
end
在我的路线:
devise_scope :user do
get 'users/:id' => 'users#show', as: :user
end
devise_for :users
我rake routes
看起来是这样的:
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
user GET /users/:id(.:format) users#show
它使感觉为什么我得到一个错误,因为:id是我的URL中的sign_up,我只是没有得到我应该做的事情来修复 这个。
当然,它会永远给我任何错误后本地主机:3000 /用户/因为在用户控制器我的表演方法的id
改变你的路线的顺序让'devise_for:users'在devise_scope之上,然后尝试 – Deep
@Deep没有工作。我不认为这个顺序很重要? – hellomello
当我们有类似的路线时它很重要。 – Deep