相关疑难解决方法(0)

多态关联在同一模型上具有多个关联

我对我所获得的多态关联感到有些困惑.我需要一个文章模型来获得标题图像和许多图像,但我希望有一个图像模型.更令人困惑的是,Image模型具有多态性(允许其他资源拥有许多图像).

我在我的文章模型中使用此关联:

class Article < ActiveRecord::Base
  has_one :header_image, :as => :imageable
  has_many :images, :as => :imageable
end
Run Code Online (Sandbox Code Playgroud)

这可能吗?谢谢.

ruby activerecord ruby-on-rails polymorphic-associations

9
推荐指数
2
解决办法
5886
查看次数

Rails模型有两个多态的has_many到:对象标记的关联

我的架构中有ArticlesJournals可与被标记Tags.这需要has_many through:与我的Tagging连接表的多态关系关联.

好的,这是一个简单且记录良好的部分.

我的问题是Articles可以同时拥有主标签和子标签.主要标签是我最感兴趣的,但我的模型也需要跟踪这些子标签.子标签只是描述Article不太重要的标签,但来自同一个全局池Tags.(事实上​​,一个Article人的主要标签可能是另一个人的子标签).

实现这一点需要Article模型与模型有两个关联,Tagging并且两个has_many through:关联Tags(即#tags&#sub-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

6
推荐指数
1
解决办法
2459
查看次数