属性として列挙型を持つモデルがあります。Rails 4:FactoryGirl属性で列挙型フィールドを設定する
class ApplicationLetter < ActiveRecord::Base
belongs_to :user
belongs_to :event
validates :user, :event, presence: true
enum status: {accepted: 1, rejected: 0, pending: 2}
end
と同様に、このモデルを生成し、列挙型、私は工場
let(:valid_attributes) { FactoryGirl.build(:application_letter).attributes }
を通じて有効な属性を取得したいコントローラーのテストで
FactoryGirl.define do
factory :application_letter do
motivation "motivation"
user
event
status :accepted
end
end
の値を設定します工場これらの属性を持つアプリケーションを作成します。
application = ApplicationLetter.create! valid_attributes
しかし、私は次のエラーを取得:
ArgumentError: '1' is not a valid status
なぜ状態が文字列として解釈されますか?工場のステータスを変更すると、同じエラーが発生しますが、適切な番号が付けられます。
[Factory Girl with enum and association]の複製可能性(http://stackoverflow.com/questions/27606297/factory-girl-with-enum-and-association) –
http://stackoverflow.com/questions/27606297/factory-girl-with-enum-and-associationの複製のように見えますが、そこには良い回答もありません。それでも問題がある場合は、[GitHub](https://github.com/thoughtbot/factory_girl)でこれを報告してください。 –