ruby on rails - Seeding fails: "field can't be blank" but I'm seeding with a value -


i have required field article table:

t.string  :article_type, null: false 

and in model:

validates :article_type,  presence: true enum article_type:        [ :type1, :type2, :type3, :type4, :type5 ] 

in seeds have:

books = book.all books.each |book|   title = faker::lorem.sentence(3)   article_type = ["type1", "type2", "type3", "type4", "type5"].sample   book.articles.create!( title: title,                          article_type: article_type ) end 

problem: create line produces error: activerecord::recordinvalid: validation failed: article type can't blank. causing this? (i can confirm .sample line works , picks 1 of 5 types)

update: if change article_type string integer, works. should do? because isn't integer, it...?

rails enum expects corresponding db column integer, yours string.

so either change integer or substitute enum value validation.


Comments

Popular posts from this blog

c - How to retrieve a variable from the Apache configuration inside the module? -

c# - Constructor arguments cannot be passed for interface mocks -

python - malformed header from script index.py Bad header -