每个新用户都必须接受 EULA 才能使用我的 RoR 应用程序提供的服务,所以当用户第一次登录我的网站时,她/他必须接受 EULA,如果她/他不想接受,他/她可以退出,所以:
我有before_filter
一个ApplicationController
动作:except
:
before_filter :check_eula, :except => [:destroy]
我的 EULA 页面上有链接:
<%= link_to('Logout', destroy_user_session_path, :method => :delete, :class => link_class) %>
我正在使用设计: https ://github.com/plataformatec/devise/blob/master/lib/devise/rails/routes.rb
destroy_user_session DELETE /users/sign_out {:controller=>"devise/sessions", :action=>"destroy"}
问题是,当用户在不接受 EULA 的情况下单击“注销”链接时,似乎:check_eula
仍然会调用。