访问Devise Config变量

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

我想从Devise的:confirmable模块中显示config.allow_unconfirmed_access_for 。 此变量在devise.rb初始化程序中设置:

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

谢谢!

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

因此,在控制器上创建一个实例变量并将该值赋给它,然后您就可以在视图中显示它。

接受的答案不再正确。 对于更新的Devise版本,配置选项将添加到主Devise模块,例如Devise.allow_unconfirmed_access_for

这回答了一个类似的问题:

OmniAuth配置存储在嵌套stragety对象中的omniauths_config对象中

 Devise.omniauth_configs 

收益:

 {:facebook=> # 

然后通过符号访问:

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"}