我对我所获得的多态关联感到有些困惑.我需要一个文章模型来获得标题图像和许多图像,但我希望有一个图像模型.更令人困惑的是,Image模型具有多态性(允许其他资源拥有许多图像).
我在我的文章模型中使用此关联:
class Article < ActiveRecord::Base
has_one :header_image, :as => :imageable
has_many :images, :as => :imageable
end
Run Code Online (Sandbox Code Playgroud)
这可能吗?谢谢.
我的架构中有Articles和Journals可与被标记Tags.这需要has_many through:与我的Tagging连接表的多态关系关联.
好的,这是一个简单且记录良好的部分.
我的问题是Articles可以同时拥有主标签和子标签.主要标签是我最感兴趣的,但我的模型也需要跟踪这些子标签.子标签只是描述Article不太重要的标签,但来自同一个全局池Tags.(事实上,一个Article人的主要标签可能是另一个人的子标签).
实现这一点需要Article模型与模型有两个关联,Tagging并且两个has_many through:关联Tags(即#tagssub-tags)
这是我到目前为止所做的,虽然有效但不保持主标签和子标签分开.
class Article < ActiveRecord::Base
has_many :taggings, as: :taggable
has_many :tags, through: :taggings
has_many :sub_taggings, as: :taggable, class_name: 'Tagging',
source_type: 'article_sub'
has_many :sub_tags, through: :sub_taggings, class_name: 'Tag', source: :tag
end
class Tagging < ActiveRecord::Base
# id :integer
# taggable_id :integer
# taggable_type :string(255)
# tag_id :integer
belongs_to :tag …Run Code Online (Sandbox Code Playgroud) tagging activerecord ruby-on-rails has-many-through polymorphic-associations