/ / active_merchantの設定をRails 3アプリと互換にする - ruby​​-on-rails-3、activemerchant

active_merchantがRails 3アプリと互換性があるように設定する - ruby​​-on-rails-3、activemerchant

私はフォローしています 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_initializeApplicationName::Application.config.after_initialize それが機能しているはずです。