[英]Devise Routing Error in rails 3.2.6
我已经浏览了所有Devise路由错误讨论,但是找不到解决我的问题的解决方案。 我的环境如下:-Ruby 1.9.3-Rails 3.2.6-Devise 2.2.0
我在这里遵循了所有步骤: https : //github.com/plataformatec/devise
这些文件是:
routes.rb中:
Dealzhunt::Application.routes.draw do
devise_for :members
get "browse/all"
get "home/index"
root :to => 'browse#all'
# some other code
member.rb:
class Member < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
# attr_accessible :title, :body
end
耙路:
new_member_session GET /members/sign_in(.:format) devise/sessions#new
member_session POST /members/sign_in(.:format) devise/sessions#create
destroy_member_session DELETE /members/sign_out(.:format) devise/sessions#destroy
member_password POST /members/password(.:format) devise/passwords#create
new_member_password GET /members/password/new(.:format) devise/passwords#new
edit_member_password GET /members/password/edit(.:format) devise/passwords#edit
PUT /members/password(.:format) devise/passwords#update
cancel_member_registration GET /members/cancel(.:format) devise/registrations#cancel
member_registration POST /members(.:format) devise/registrations#create
new_member_registration GET /members/sign_up(.:format) devise/registrations#new
edit_member_registration GET /members/edit(.:format) devise/registrations#edit
PUT /members(.:format) devise/registrations#update
DELETE /members(.:format) devise/registrations#destroy
browse_all GET /browse/all(.:format) browse#all
root / browse#all
对于以下URL:
http://localhost:3000/members/sign_in
http://localhost:3000/members/sign_up
我收到以下错误:
No route matches {:controller=>"devise/browse", :action=>"all", :category=>0}
我观察到的一种奇怪症状是,如果我将root:to修改为=>'home#index',则消息是相同的。 我以为它至少会改变设计/房屋,但仍留在/浏览
最奇怪的是,我启动了一个新的Clean Rails项目,该设计实际上是有效的。 我想知道是否是因为当我运行rails generate devise:install时发生了一些错误
确实陷入了这个问题。 有人能帮助我吗?
亲爱的上帝,我找出了问题的原因。 Devise在使用link_to语法时遇到麻烦。 临时解决方案是将所有link_to修改为
<%= link_to "Home", :controller => "/browse", :action => "all" %>
在控制器名称前加上/。 以下是有关该问题的更多详细信息:github.com/plataformatec/devise/issues/471
您从哪里得到此错误? 即,您正在加载哪个页面?
似乎您正在链接或路由到控制器“设计/浏览”的某物-相反,它应该仅路由到控制器“浏览”。 在rake路由生成的输出中
browse_all GET /browse/all(.:format) browse#all
您会发现您显然拥有一个带有all
方法的browse
器控制器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.