cec*_*ile 5 devise activeadmin
在Rails应用程序中,我使用设计来管理我的用户和我的链接以销毁会话不再起作用.它正在工作,现在我已经添加了活动管理员,它没有.
我的链接是
<%= link_to "Déconnexion", destroy_user_session_path, :method => :delete, :class => 'button' %>
Run Code Online (Sandbox Code Playgroud)
我的routes.rb
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks"}
Run Code Online (Sandbox Code Playgroud)
我的佣金路线
destroy_user_session DELETE /users/sign_out(.:format)
Run Code Online (Sandbox Code Playgroud)
它试图打开视图/ users/sign_out,所以我有:
ActiveRecord::RecordNotFound in UsersController#show
Couldn't find User with id=sign_out
Run Code Online (Sandbox Code Playgroud)
Active_admin和Devise会崩溃吗?这将是奇怪的'因为积极使用设计,不是吗?
编辑:
对于将遇到此问题的下一个人,我通过将下一行添加到/config/initializers/devise.rb来解决它.
config.sign_out_via = :get
Run Code Online (Sandbox Code Playgroud)
不是最好的方式,但它完成了工作.
请更改您的routes.rb:-
devise_scope :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks"} do
get "/users/sign_out", :to => "devise/sessions#destroy"
end
Run Code Online (Sandbox Code Playgroud)
我也遇到了同样的问题,只有这个才能在浪费1小时的时间后解决我。
谢谢。