Доступ к конфигурационным параметрам Devise Config
В моем приложении Rails, каким образом можно получить доступ к настройке конфигурации Devise непосредственно из представления?
Я хочу показать config.allow_unconfirmed_access_for
из модуля Devise :confirmable
. Эта переменная устанавливается в devise.rb
initializer:
Devise.setup do
config.allow_unconfirmed_access_for = 3.days
end
Спасибо!
Ответы
Ответ 1
Конфигурации в файле devise.rb
реплицируются в вашей модели Devise, поэтому, если ресурс Devise User
, вы должны иметь доступ к нему через User.allow_unconfirmed_access_for
.
Итак, создайте переменную экземпляра на контроллере и присвойте ему это значение, а затем вы сможете отобразить его на своем экране.
Ответ 2
Принятый ответ больше не верен. Для более поздних версий Devise параметры конфигурации привязаны к основному модулю Devise
, например. Devise.allow_unconfirmed_access_for
.
Ответ 3
Это отвечает на аналогичный вопрос:
Конфигурация OmniAuth хранится в объекте omniauths_config внутри объекта вложенного объекта stragey
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"}