【发布时间】:2014-04-21 20:53:50
【问题描述】:
我正在尝试创建一个查询来显示我的 CMS 中某个部分的所有内容。
关系是一对多的,一个内容有多个部分。
现在我创建一个节控制器,并在 show 方法中接收节的 params[:id]。
我必须选择 content.section_ids 数组包含我的 params[:id] 的所有内容
我知道如何创建反向查询(其中 ID 在数组中),但我找不到解决方案。
我的查询是:
@contents = Content.published.recent.where("#{params[:id]} IN (?)", ...)
更新
这就是关系。
我必须选择该部分 == 的所有内容到我的参数中传递的部分 ID。
class Content < ActiveRecord::Base
has_many :sections, as: :sectionable
end
class Section< ActiveRecord::Base
belongs_to :sectionable, polymorphic: true
end
【问题讨论】:
-
听起来你已经创建了一对多关系,方法是让 Content 有一个
section_ids字段,它是某种数组或序列化数组,而不是使用content_id外键在节表上?要充分回答问题,需要有关数据库结构的更清晰信息。你还在用什么数据库?
标签: ruby-on-rails activerecord