現在、SNS認証を実装しようとしている最中なのですが、
Rails.envがproductionと、それ以外の場合で、以下のコードの、callback_urlの項目だけ分岐させたいです。
ruby
1 2 config.omniauth :facebook, OAUTH_CONFIG[:facebook]['key'], OAUTH_CONFIG[:facebook]['secret'], scope: 'public_profile, email,user_birthday', callback_url: 'localhost:3000/omniauth/facebook/callback'
それで、
ruby
1 if Rails.env.production? 2 config.omniauth :facebook, OAUTH_CONFIG[:facebook]['key'], OAUTH_CONFIG[:facebook]['secret'], scope: 'public_profile, email,user_birthday', callback_url: 'piyopiyo.herokuapp.com/omniauth/facebook/callback' 3 else 4 config.omniauth :facebook, OAUTH_CONFIG[:facebook]['key'], OAUTH_CONFIG[:facebook]['secret'], scope: 'public_profile, email,user_birthday', callback_url: 'localhost:3000/omniauth/facebook/callback' 5 end
このように書いてみた結果、エラーは出ていないのですが、明らかにDRYではないと思い、
ruby
1 2 config.omniauth :facebook, OAUTH_CONFIG[:facebook]['key'], OAUTH_CONFIG[:facebook]['secret'], scope: 'public_profile, email,user_birthday', 3 if Rails.env.production? 4 callback_url: 'piyopiyo.herokuapp.com/omniauth/facebook/callback' 5 else 6 callback_url: 'localhost:3000/omniauth/facebook/callback' 7 end
このように書いてみたのですが、こちらは、
最後のendの部分に、
unexpected token tNL
(Using Ruby 2.6 parser; configure using TargetRubyVersion
parameter, under AllCops
) (error:Lint/Syntax)
というエラーがでます。
こういった場合にどのように書けばいいのか、アドバイス頂けると嬉しいです。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。