如果我将CanCan与Devise一起使用,为什么不会出现flash消息?

时间:2013-02-07 23:56:47

标签: ruby-on-rails ruby-on-rails-3 devise cancan

假设我没有登录。
在这种情况下,当访问mails_controller中的操作时,它会显示此闪存通知。

You need to sign in or sign up before continuing.

但是,它不会显示在communities_controller中 为什么?我该如何解决?

mails_controller.rb

class MailsController < ApplicationController
    before_filter :authenticate_user!
    ....
end

communities_controller.rb

class CommunitiesController < ApplicationController
    load_and_authorize_resource :find_by => :id
    before_filter :authenticate_user!
end

1 个答案:

答案 0 :(得分:1)

尝试在load_and_authorize_resource之后移动before_filter行。 load_and_authorize_resource行会在您到达before_filter行之前找不到可能发生的成员操作的资源时引发异常