23

私の Rails アプリで、ビューから直接 Devise 構成変数にアクセスするにはどうすればよいでしょうか?

config.allow_unconfirmed_access_forDeviseの:confirmableモジュールから表示したい。この変数はdevise.rb初期化子で設定されます。

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

ありがとう!

4

3 に答える 3

27

ファイルの構成はdevise.rbDevise モデルに複製されるため、Devise リソースがUserである場合は、 からアクセスできるはずですUser.allow_unconfirmed_access_for

したがって、コントローラーでインスタンス変数を作成し、この値をそれに割り当てると、ビューに表示できるようになります。

于 2012-06-28T02:36:34.953 に答える
10

受け入れられた答えはもはや正しくありません。最近のDeviseバージョンでは、設定オプションはメインDeviseモジュールに追加されていますDevise.allow_unconfirmed_access_for.

于 2016-01-05T21:48:04.513 に答える
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"}
于 2017-03-28T17:10:36.413 に答える