我有一个名为List的模型,它有很多记录:
class List
has_many :records
end
class Record
end
表记录有2个永久字段:名称,电子邮件。
除了这两个字段之外,对于每个列表,记录可以有'n'个自定义字段。
例如:对于list1,我将地址(文本),dob(日期)添加为自定义字段。 然后在将记录添加到列表1时,每个记录都可以包含address和dob的值。
是否有任何提供此类功能的ActiveRecord插件? 或者你可以分享一下你如何对此进行建模的想法吗?
提前致谢,
的Pankaj
答案 0 :(得分:2)
答案 1 :(得分:2)
如果您的自定义字段不需要是真正的数据库列,则可以使用序列化:http://railsapi.com/doc/rails-v2.3.5/classes/ActiveRecord/Base.html#M000924您可以使用它:
class Record < ActiveRecord::Base
serialize :custom_fields, Hash
end
r = Record.create :custom_fields => {:name => 'John Doe', :birth_date => Date.new(1970,1,1)}
r.custom_fields[:name]
# => 'John Doe'
r.custom_fields[:birth_date]
# => #<Date: 4881175/2,0,2299161>
专业:易于使用
Con :由于自定义字段不是db列,因此无法根据数据库的值找到数据库中的记录(例如,Record.find_by_name('John Doe')不起作用)< / p>
答案 2 :(得分:1)
也许这个? has_magic_columns。我自己没有测试它,但似乎它可以做你需要的。