在rails 4.1中使用devise helper方法

时间:2014-11-07 15:41:17

标签: ruby-on-rails ruby ruby-on-rails-4 devise

我有一个使用设计user_signed_in的方法?和current_user助手。鉴于项目中几乎所有控制器都需要这样做......它似乎是成为轨道问题的一个很好的候选者。但是,当我将相关代码移动到关注点时,我得到:

undefined method 'user_signed_in'?

我想也许可以添加包括Devise :: Controllers :: Helpers会有所帮助......但这无济于事。

我将其修改为具有上述问题的示例,并且在控制器中您需要这样:

include CheckIt

并在控制器关注目录中显示如下所示的check_it.rb:

module CheckIt
  extend ActiveSupport::Concern
  include Devise::Controllers::Helpers

  included do
    before_action self.checkit
  end

  module ClassMethods
    def checkit
      puts "user_signed_in? #{user_signed_in?}"
    end
  end
end

然后,只要您访问该控制器的某个方面,它就会说undefined method 'user_signed_in?'

0 个答案:

没有答案