0
我多態性有通過關聯簡單的形式不加載動態地創建的關聯
# a/m/documnet.rb
class Document < ActiveRecord::Base
has_many :possessions, as: :belonging
has_many :clients, :through => :possessions, :source => :owner, :source_type => 'Client'
end
在意見控制檯
Document.new.clients
#=> []
用簡單的形式
= f.association :clients, as: :check_boxes, collection: Client.all
它的工作原理沒有問題很多。
-
問題開始時我想動態關聯具有簡單形式
= f.association :clients, as: :check_boxes, collection: Client.all
無線意見很多資源
class Document < ActiveRecord::Base
has_many :possessions, as: :belonging
def self.possession_owner_classes
[Client, SomethingElse]
end
possession_owner_classes.each do |possession_class|
has_many possession_class.model_name.underscore.pluralize, :through => :possessions, :source => :owner, :source_type => possession_class.model_name
end
end
在控制檯
Document.new.clients
#=> []
會拋出
Association :clients not found
so Rails知道這個關聯,但是簡單的表單不會: - /有什麼想法嗎?
只是提醒:請注意協會工作正常,只有當我動態創建它時纔會出現問題 – equivalent8