`enum` 播种失败
Seeding fails upon `enum`
我在使用 enum
时遇到问题。我查看了 documentation 但不明白我做错了什么(抱歉,我是新手)。我有我的模型文件:
enum origin: [ :website, :stand, :other ]
在我的种子文件中,我创建了一个新记录,其中一个键值对是 origin: "website"
:
content = Faker::Lorem.paragraphs(2)
author.articles.create!( title: "Title",
origin: "website",
content: content )
播种后会产生错误:
ActiveRecord::SubclassNotFound: Invalid single-table inheritance type: website is not a subclass of Article
导致此错误的原因可能是什么?
更新: 我在这里阅读同样的问题:https://github.com/rails/rails/issues/14136。但我不明白。有人可以解释一下吗?
Article.rb:
class Article < ActiveRecord::Base
belongs_to :author
has_many :links
validates :author_id, presence: true
end
这应该有效:
author.articles.create!( title: "Title",
origin: :website,
content: content )
枚举来源:http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html
in-depth阅读枚举:https://hackhands.com/ruby-on-enums-queries-and-rails-4-1/
我在使用 enum
时遇到问题。我查看了 documentation 但不明白我做错了什么(抱歉,我是新手)。我有我的模型文件:
enum origin: [ :website, :stand, :other ]
在我的种子文件中,我创建了一个新记录,其中一个键值对是 origin: "website"
:
content = Faker::Lorem.paragraphs(2)
author.articles.create!( title: "Title",
origin: "website",
content: content )
播种后会产生错误:
ActiveRecord::SubclassNotFound: Invalid single-table inheritance type: website is not a subclass of Article
导致此错误的原因可能是什么?
更新: 我在这里阅读同样的问题:https://github.com/rails/rails/issues/14136。但我不明白。有人可以解释一下吗?
Article.rb:
class Article < ActiveRecord::Base
belongs_to :author
has_many :links
validates :author_id, presence: true
end
这应该有效:
author.articles.create!( title: "Title",
origin: :website,
content: content )
枚举来源:http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html
in-depth阅读枚举:https://hackhands.com/ruby-on-enums-queries-and-rails-4-1/