【发布时间】:2014-01-14 00:10:03
【问题描述】:
所以我构建了一个可挂载引擎并添加了用于身份验证的设计:
由于某种原因,链接上的 :delete 方法正在执行获取这里是相关代码:
Index.html.erb
<%= link_to 'Logout', destroy_user_session_path, :method => :delete, :class => 'navbar-link' %>
Config/initializers/devise.rb
config.sign_out_via = :delete
路线
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
错误
No route matches [GET] "/my_engine/users/sign_out"
将config.sign_out_via = :delete 更改为config.sign_out_via = :get 解决了问题并允许我注销,但是这是错误的做法,注销应该是删除,如果有人有任何想法,我希望它能够正常工作
附加信息(Gems + Ruby 版本 + 注销链接页面上显示的实际 HTML)
我正在使用ruby-1.9.3-p398
这是页面上显示的布局链接的html
<a class="navbar-link" data-method="delete" href="/antithetical/users/sign_out" rel="nofollow">Logout</a>
还有宝石:
Using rake (10.1.1)
Using i18n (0.6.9)
Using minitest (4.7.5)
Using multi_json (1.8.4)
Using atomic (1.1.14)
Using thread_safe (0.1.3)
Using tzinfo (0.3.38)
Using activesupport (4.0.2)
Using builder (3.1.4)
Using erubis (2.7.0)
Using rack (1.5.2)
Using rack-test (0.6.2)
Using actionpack (4.0.2)
Using mime-types (1.25.1)
Using polyglot (0.3.3)
Using treetop (1.4.15)
Using mail (2.5.4)
Using actionmailer (4.0.2)
Using activemodel (4.0.2)
Using activerecord-deprecated_finders (1.0.3)
Using arel (4.0.1)
Using activerecord (4.0.2)
Using bcrypt-ruby (3.1.2)
Using orm_adapter (0.5.0)
Using thor (0.18.1)
Using railties (4.0.2)
Using warden (1.2.3)
Using devise (3.2.2)
Using bundler (1.5.2)
Using hike (1.2.3)
Using tilt (1.4.1)
Using sprockets (2.10.1)
Using sprockets-rails (2.0.1)
Using rails (4.0.2)
【问题讨论】:
标签: ruby-on-rails devise routing rails-engines