Blazer(Rails)的自定义身份验证

时间:2017-08-23 21:43:00

标签: ruby-on-rails ruby

我在哪里定义authenticate!以获取Blazer的自定义身份验证?

我的config/blazer.yml中有此(未注释)行(如Authentication > Other下的自述文件中所述):

before_action: :authenticate!

当我刷新我的应用时,我收到此错误:

NoMethodError at / undefined method 'authenticate!' for #<Blazer::QueriesController:0x007ffe26447830>

该类由Blazer gem定义。我应该以某种方式添加/重新定义其authenticate!方法吗?

我尝试在我定义的地方添加initializers/blazer.rb文件:

class Blazer::QueriesController < Blazer::BaseController
  def authenticate!
    true
  end
end

但现在,当我在Blazer中点击“新查询”时,我收到此错误:

NoMethodError in Blazer::Queries#new undefined method `errors' for nil:NilClass

Rails 4.2.5,Blazer 1.8.0

1 个答案:

答案 0 :(得分:2)

您应该将自定义方法添加到application_controller.rb。然后,将方法的名称放入config/blazer.yml以进行连接。

我建议使用Devise进行身份验证。 Devise wiki有一篇很棒的文章here。发动机和外套的路线也必须受到保护here