3
在Rails(virtus,active_attr,activemodel)中查看了幾個無表解決方案之後,很明顯Rails關聯不受支持。我的問題是爲什麼不呢?是否有一些明顯的原因導致我錯過了?看起來像組織會非常有用,但在我看到的所有例子中都被忽略了。爲什麼Rails無表模型包含關聯?
在Rails(virtus,active_attr,activemodel)中查看了幾個無表解決方案之後,很明顯Rails關聯不受支持。我的問題是爲什麼不呢?是否有一些明顯的原因導致我錯過了?看起來像組織會非常有用,但在我看到的所有例子中都被忽略了。爲什麼Rails無表模型包含關聯?
我不知道如何回答你爲什麼不支持這個問題的問題是你可以用Rails 4+支持它的一種方法。這不需要你有一個數據庫表,並且還可以讓你訪問諸如驗證,關聯以及像after_initialize之類的一些回調。
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
你是什麼意思不支持? ActiveModel通過'has_many:children'和'belongs_to:parent'支持關聯[ – sircapsalot
]看到這個問題,例如http://stackoverflow.com/questions/6593428/ruby-on-rails-3-3-1-activemodel-associations-tableless -nested-models – Dty
這是2011年的一個問題,請嘗試使用ActiveRecord官方文檔 - http://guides.rubyonrails.org/association_basics.html#the-types-of-associations – sircapsalot