访问设计配置变量(Accessing Devise Config Variables)

2019-09-18 15:11发布

在我的Rails应用程序,这将是直接从视图访问设计配置变量的方法是什么?

我想说明config.allow_unconfirmed_access_for从设计的:confirmable模块。 这个变量被设置在devise.rb初始化:

Devise.setup do
  config.allow_unconfirmed_access_for = 3.days
end

谢谢!

Answer 1:

在配置devise.rb文件被复制在你的设计模型,因此,如果您的设计资源是User ,你应该能够通过访问它User.allow_unconfirmed_access_for

因此,创建您的控制器上的一个实例变量,这个值分配给它,然后你就可以显示它在你的看法。



Answer 2:

接受的答案是不再正确。 欲了解更多最新设计的版本,在配置选项上涨到主Devise模块,如Devise.allow_unconfirmed_access_for



Answer 3:

这回答过类似的问题:

OmniAuth配置被存储在omniauths_config对象嵌套战略前导对象内

Devise.omniauth_configs

收益:

{:facebook=>
  #<Devise::OmniAuth::Config:0x007fa6db95aa68
  ....

然后通过符号访问:

Devise.omniauth_configs[:facebook].strategy

{"setup"=>true,
 "skip_info"=>false,
 "client_id"=>nil,
 "client_secret"=>nil,
 "client_options"=>{"site"=>"https://graph.facebook.com", "authorize_url"=>"https://www.facebook.com/dialog/oauth", "token_url"=>"/oauth/access_token"},
 "authorize_params"=>{},
 "authorize_options"=>[:scope, :display, :auth_type],
 "token_params"=>{"parse"=>:query},
 "token_options"=>[],
 "auth_token_params"=>{},
 "provider_ignores_state"=>false,
 "access_token_options"=>{"header_format"=>"OAuth %s", "param_name"=>"access_token"},
 "scope"=>"email,public_profile,publish_actions",
 "info_fields"=>"email, first_name, last_name",
 "name"=>"facebook"}


文章来源: Accessing Devise Config Variables