如何实现 ActiveModel 关联(无表嵌套模型)?
例如:
book has many chapters
使用 ActiveRecord,我将创建两个模型并将它们与has_many和belongs_to相关联。但是 ActiveModel 没有这样的功能。我该如何实施?
如何实现 ActiveModel 关联(无表嵌套模型)?
例如:
book has many chapters
使用 ActiveRecord,我将创建两个模型并将它们与has_many和belongs_to相关联。但是 ActiveModel 没有这样的功能。我该如何实施?
对于 >= 2.3.x 的 rails 版本,您可以使用activerecord-tableless gem。使用该 gem,您可以在没有数据库的情况下进行关联和验证。
我已被添加为 gem 的作者,并且我已更新 gem 以支持较新的 Rails 版本。所以现在我们可以在Rails 版本 >= 2.3中拥有具有关联的无表模型
你根本不能那样做。它不是活动记录。
您可以在以下位置查看 ActiveModel 文档(和源代码):
https://github.com/rails/rails/tree/master/activemodel
我想你必须以老式的方式来做,使用一系列章节和章节中对书的引用。
希望这可以帮助!
您可以查看此答案以了解另一种方法。
class Tableless < ActiveRecord::Base
def self.columns() @columns ||= []; end
def self.column(name, sql_type = nil, default = nil, null = true)
columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
end
attr_accessor :id, :name, :value
has_many :stuff_things
has_many :things, :through => :stuff_things
end