私はフォローしています http://railscasts.com/episodes/145-integrating-active-merchant
Rails 3アプリと互換性があるように設定を設定するにはどうすればいいですか?
私は次のことを config/initializers/active_merchant.rb
if Rails.env == "development"
config.after_initialize do
ActiveMerchant::Billing::Base.mode = :test
::GATEWAY = ActiveMerchant::Billing::PaypalGateway.new(
:login => "seller12341234zxcv.foobar.com",
:password => "pasword",
:signature => "abc123"
)
end
elsif Rails.env == "test"
config.after_initialize do
ActiveMerchant::Billing::Base.mode = :test
::GATEWAY = ActiveMerchant::Billing::BogusGateway.new
end
elsif Rails.env == "production"
config.after_initialize do
ActiveMerchant::Billing::Base.mode = :test
::GATEWAY = ActiveMerchant::Billing::PaypalGateway.new(
:login => "seller12341234zxcv.foobar.com",
:password => "pasword",
:signature => "abc123"
)
end
end
次のエラーがレンダリングされます。
config/initializers/active_merchant.rb:2:in `<top (required)>": undefined local variable or method `config" for main:Object (NameError)
回答:
回答№1は4あなたはちょうどを取り除く必要があるように見えます config.after_initialize do
ブロック - それ以降はうまく初期化する必要があります。
回答№2の場合は1
このコードを環境ファイルに入れることができます。つまり、config / environments / development.rb、production.rbなどです。
config.after_initialize do
ActiveMerchant::Billing::Base.mode = :test
::GATEWAY = ActiveMerchant::Billing::PaypalGateway.new(
:login => "seller12341234zxcv.foobar.com",
:password => "pasword",
:signature => "abc123"
)
end
回答№3の場合は0
あなたは変更する必要があります config.after_initialize
に ApplicationName::Application.config.after_initialize
それが機能しているはずです。