【发布时间】:2012-10-24 15:43:15
【问题描述】:
在 Rails 应用程序中,我使用 devise 来管理我的用户,而我用来销毁会话的链接不再起作用。它工作正常,现在我添加了活动管理员,但它没有。
我的链接是
<%= link_to "Déconnexion", destroy_user_session_path, :method => :delete, :class => 'button' %>
我的路线.rb
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks"}
我的耙子路线
destroy_user_session DELETE /users/sign_out(.:format)
它尝试打开视图/users/sign_out,所以我有:
ActiveRecord::RecordNotFound in UsersController#show
Couldn't find User with id=sign_out
Active_admin 和 Devise 会一起崩溃吗? 这会很奇怪,因为主动使用设计,不是吗?
编辑:
对于下一个遇到此问题的人,我通过将下一行添加到 /config/initializers/devise.rb 来解决它。
config.sign_out_via = :get
不完全是最好的方法,但确实可以。
【问题讨论】:
-
我认为您在 ActiveAdmin 下已经很好地解决了这个问题。
-
我通过更改 initializers/active_admin.rb 并设置
config.logout_link_method = :delete解决了这个非常相似的问题
标签: devise activeadmin