質問したいこと
factories.rb
ruby
1FactoryGirl.define do 2 factory :creditcard_gateway, class: Spree::PaymentMethod do 3 type { 'Spree::Gateway::StripeGateway' } 4 name { 'spree_credit_card' } 5 active 1 6 display_on { 'both' } 7 auto_capture 1 8 preferences { '---\n:secret_key: hogehogehogehoge\n:publishable_key: hogehogehogehgoe\n:server: test\n:test_mode: true\n' } 9 end 10end
credit_card_spec.rb
ruby
1require 'spec_helper' 2 3describe Spree::Gateway::StripeGateway::CreditCard do 4 creditcard_gateway = FactoryGirl.build(:creditcard_gateway) 5 p creditcard_gateway 6end
とし、rspecを実行すると、
ActiveRecord::SerializationTypeMismatch: Attribute was supposed to be a Hash, but was a String. -- "---\n:secret_key: hogehogehogehoge\n:publishable_key: hogehogehogehgoe\n:server: test\n:test_mode: true\n"
となってしまい、Factorygirlでハッシュ値を持ったバリューを設定することができません。どうすれば設定できるのでしょうか?
試したこと
ruby
1preferences { 2 secret_key: hogehogehogehoge 3 publishable_key: hogehogehogehgoe 4 server: test 5 test_mode: true 6} 7 8# エラー文 9syntax error, unexpected ':', expecting '}' 10 preferences { secret_key: hogehogehoge... 11 ^
ruby
1preferences { 2 secret_key "hogehogehogehoge" 3 publishable_key "hogehogehogehgoe" 4 server "test" 5 test_mode "true" 6} 7 8# エラー文 9syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' 10 secret_key "hogehogehoge... 11 ^
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。