在我的Rails应用程序中,从视图直接访问Devise配置变量的方法是什么?
我想展示Devise的:confirmable
模块中的config.allow_unconfirmed_access_for
。此变量在devise.rb
初始值设定项中设置:
Devise.setup do
config.allow_unconfirmed_access_for = 3.days
end
谢谢!
发布于 2012-06-28 10:36:35
在您的Devise模型上复制了devise.rb
文件上的配置,因此如果您的Devise资源是User
,您应该能够通过User.allow_unconfirmed_access_for
访问它。
因此,在控制器上创建一个实例变量,并将该值赋给它,然后就可以在视图上显示它了。
发布于 2016-01-06 05:48:05
公认的答案不再正确。对于更新的Devise版本,配置选项被附加到主Devise
模块上,例如Devise.allow_unconfirmed_access_for
。
发布于 2017-03-29 01:10:36
这回答了一个类似的问题:
OmniAuth配置存储在嵌套策略对象内的omniauths_config对象中
Devise.omniauth_configs
返回:
{:facebook=>
#<Devise::OmniAuth::Config:0x007fa6db95aa68
....
然后通过symbol访问:
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"}
https://stackoverflow.com/questions/11231687
复制相似问题