Подтвердить что ты не робот

Доступ к конфигурационным параметрам 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

Спасибо!

4b9b3361

Ответ 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"}