通过rails控制器过滤数据

时间:2015-12-09 02:31:41

标签: mysql ruby-on-rails-4 controller models

我需要对我的数据应用查询过滤器,以将一个表的外键与另一个表的主键相匹配,我现在想通过控制器执行此操作。文档是主表/模型。关键字是另一个模型,但也是Document的子表。寻找有关此语法的建议。

一个例子:

@keywords = Keyword.where(keywordable_id == @document.id)

keywordable_id是Document model / table中的外键。

1 个答案:

答案 0 :(得分:0)

来自

@keywords = Keyword.where(keywordable_id == @document.id)

@keywords = Keyword.where(keywordable_id: @document.id)

另一方面,我建议你设置关联

class Document < ActiveRecord::Base
  has_many :keywords, foreign_key: 'keywordable_id'
end

class Keyword < ActiveRecord::Base
  belongs_to :document, primary_key: 'keywordable_id'
end

查询@keywords = @document.keywords

了解详情:http://guides.rubyonrails.org/association_basics.html