2011-09-14 7 views
-1

愚かな質問「クラス `工場のための」未定義のメソッド`ペイパル: 私は工場を持ってお支払いモデルのFactoryGirl:

Factory.define :payment do |f| 
    ... 
    f.method 'paypal' 
    ... 
    end 

これは私にエラーを与える:

undefined method `paypal' for class `Factory'

私はこの問題を考えますRubyのクラスObjectmethodメソッドです。

FactoryGirlの工場​​で属性として「メソッド」を使用する方法はありますか?

答えて

1

この属性名を避けることを強くお勧めします。データベースの列の名前を変更します。他のいくつかのケースでは同じ問題に陥る可能性が高いです。

正直、私はこれを解決する方法を知らない。 after_createコールバックを使用できますが、最終的な解決策ではありません。

+0

はい、私はそれを "payment_method"と改名すると思います。この属性名の理由は、「payment.method」が「payment.payment_method」よりもはるかに優れているためです。ありがとうございました。 – ijon