问题描述
|
我有一个应用程序正在升级到使用restful_authentication插件的Rails 3。我在lib目录中有authenticated_system.rb,似乎可以找到它。我已将其放入库中以弄清楚它在每次调用中的作用。当我调用除破坏以外的任何方法时,puts语句会告诉我它已从会话登录。当我尝试在控制器中使用destroy方法时(与哪一个无关),它告诉我它正在尝试从cookie登录,这失败了,因为系统设置为不使用cookie。为什么会这样做呢?它们的代码完全相同,并且before过滤器很简单:
def validate_user_type
if ( current_user.user_type == User::UserType::VIEWER )
redirect_to :controller => \'assets\',:action => \'myassets\'
end
此过滤器适用于所有
有任何想法吗?
解决方法
尝试使用button_to而不是link_to可以删除操作。
我遇到了同样的问题,这是因为我使用带有:remote选项的link_to。
这没有在post参数中传递authenticity_token,因此restful_authentication失败。
我改用button_to,其中包含了authenticity_token,删除操作开始了。
, 我发现了这个,但从未发布过,请检查csrf标签的应用程序布局,如果不存在,它将做一些时髦的事情。这就是问题所在。