我如何使用 rails 中的 SQL 代码对此进行编码



我有三个模型,如CommunityTaggingTag

  • 社区belongs_to :tag

  • 标记 has_one :community <= taggable_id将是社区的 ID

  • 标记belongs_to :tag

  • 标签has_many :taggings # 标签具有"名称"属性

在这种情况下,如果我有参数[:标签]

,我如何编写SQL代码来获取所有带有参数[:标签]标记的社区?

您应该能够看到尝试时生成的确切sql

 Community.find_tagged_with(params[:tag])

但是,您还应该能够使用以下方法自行创建查询

 # Rails 3
 Community.joins(taggings: :tag).where(tags: { name: params[:tag] })
 # Rails 2
 Community.all(joins: { taggings: :tag }, conditions: { tags: { name: params[:tag] } })

相关内容

  • 没有找到相关文章

最新更新