2016-02-17 3 views
0

Я пытаюсь создать эту вложенную хэш структуру, как в качестве FactoryGirl объекта, так что я могу назвать FactoryGirl.attributes_for(:my_object)Структура данных с завода Девушка

amount: total, 
payment_method_nonce: params[:payment_method_nonce], 
device_data: params[:device_data], 
customer: { 
    first_name: params[:first_name], 
}, 
billing: { 
     first_name: params[:first_name], 
     last_name: params[:last_name], 
} 

До сих пор я

FactoryGirl.define do 
    factory :my_object do 
    amount nil 
    payment_method_nonce '132465' 
    device_data 'device_data' 
    customer { 
     first_name 'Richard' 
    } 
    billing { 
     first_name 'Richard' 
     last_name 'Lewis' 
    } 
    end 
end 

я получаю синтаксис ошибки и не могут показаться правильными

ответ

4

Factory girl использует {} в своем синтаксисе. Вам нужно two sets to get a hash.

FactoryGirl.define do 
    factory :my_object do 
    amount nil 
    payment_method_nonce '132465' 
    device_data 'device_data' 
    customer { 
     { 
     first_name: 'Richard' 
     } 
    } 
    billing { 
     { 
     first_name: 'Richard', 
     last_name: 'Lewis' 
     } 
    } 
    end 
end 
+1

потому что '{}' вот блок. –

+0

Спасибо :-) имеет смысл – Richlewis