2012-10-07 33 views
0

爲什麼:factorygirl命令的參數break create()方法?

FI = FactoryGirl.create(:finder_item,STORE_ID:s.id,:category_foo,:random_question)

拋出一個錯誤finder_item_spec.rb:20: syntax error, unexpected ',', expecting tASSOC (SyntaxError)

但簡單地重新排序,因此在特徵是分配工作之前罰款:

FI = FactoryGirl.create(:finder_item,:category_foo,:random_question,商店編號:s.id)

回答

1

你的一個論據是不只是符號類型 - 它是:key => value,並且對於不同類型的參數FG順序是重要的。

+0

我不知道這是否記錄在任何地方...如果沒有,應該是。 – jpwynn

+0

FG文件中有一個例子,它顯示了使用特徵時的正確順序。你能接受答案嗎? –

+1

將散列放在參數列表的末尾是標準Ruby實踐 - 這是因爲否則它們必須有明確的大括號。這就是爲什麼你得到一個Ruby解析錯誤 - 它甚至沒有得到FactoryGirl。 –