Ruby on rails 3 设计路线,我得到;出了点问题。”;错误
我是rails的新手,我很难用Desive确定rails 3的路线 当我转到“用户”页面时,我遇到了一个可怕的错误: 在我的路线上,我有Ruby on rails 3 设计路线,我得到;出了点问题。”;错误,ruby-on-rails-3,routing,devise,Ruby On Rails 3,Routing,Devise,我是rails的新手,我很难用Desive确定rails 3的路线 当我转到“用户”页面时,我遇到了一个可怕的错误: 在我的路线上,我有 #Resources for users devise_for :users, :controllers => { :registrations => "registrations" } resource :users do get 'welcome' end 这些是我的用户路线 已更新 ro
#Resources for users
devise_for :users, :controllers => { :registrations => "registrations" }
resource :users do
get 'welcome'
end
这些是我的用户路线
已更新
root / members#welcome
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
我是否应该没有2个用户资源?我相信他们可能有冲突,或者我只是错过了什么
更新
我忘了提到我正在覆盖默认的Desive注册控制器
class RegistrationsController < Devise::RegistrationsController
protected
# Redirect to welcome page after a successful registration
def after_sign_up_path_for(resource)
'/users/welcome'
end
end
类注册控制器
删除用户控制器
删除注册控制器
class RegistrationsController < Devise::RegistrationsController
protected
# Redirect to welcome page after a successful registration
def after_sign_up_path_for(resource)
'/users/welcome'
end
end
除去
resource :users do
get 'welcome'
end
将此添加到您的路线中
# Directing the user after login
authenticated :user do
root :to => 'recipes#index'
结束
改变
devise_for :users, :controllers => { :registrations => "registrations" }
到
让我知道情况如何我不确定你为什么要设置资源:用户会登录、注销和注册。事实上,除非您覆盖Desive控制器,否则您只需要Desive_for:usersWell我制作了一个用户脚手架,为用户制作了路线,我不记得他们在哪里,但我只是想确定我使用的是设备:)是的,我正在覆盖Desive注册控制器,因为我想路由到我的
欢迎
页面,而不是成功用户注册时的默认页面-我将使用注册控制器更新帖子您是否使用:confirmable withDeviate?如果没有,您可以在路由中使用它,authenticated:user do root:to=>“controller#action”end查看注册控制器的默认行为,在Deviate中创建操作,您应该看到它有自己的未确认帐户路径,我可以修改一下这个,让Desive为你安排路线是的,我正在尝试,但我不得不问——为什么是“食谱”?我没有这个名字的控制器/动作:Psorry my bad,这是我的项目lol的路径,这基本上就是你的控制器/动作。您必须创建一个新的控制器来显示欢迎页面或将欢迎操作添加到另一个控制器这对我来说不是太顺利,现在我从webbrick服务器收到这条消息在49毫秒内完成了500个内部服务器错误,我收到一个路由错误没有路由匹配{:action=>“show”,:controller=>“users”,:id=>nil}
该死的Lol我们不需要您通过脚手架设置的用户控制器,Deavine有自己的用户设置。现在将欢迎操作放在您的其他控制器中,并按照我在您的RouteKey中描述的方式进行根目录。它现在可以工作了,我可以登录/注销,但我现在如何进入我的usercontrollers索引<代码>没有与[GET]“/users”匹配的路由