【发布时间】:2017-05-16 03:34:54
【问题描述】:
我有一个包含嵌套字段的表单(habtm 和accepts_nested_attributes_for)。该表单包含一个字段“关键字”,它自动完成来自 postgresql 表的关键字。
一切正常。这是在参数中:
"acte"=>{"biblio_id"=>"1", "keywords"=>{"keywords"=>"judge, ordeal, "}
我现在需要做的是获取这些关键字并将它们的keywords_id 从表关键字中取出。这些 id 必须添加到连接表中。
我正在这样做:
q = params[:acte][:keywords].fetch(:keywords).split(",")
a = q.map {|e| Keyword.find_by keyword: e }
根据指南,find_by 仅返回第一个匹配字段。我想我需要使用find_each,但我不确定这一点,我也说不出来。我试过这个:
q = params[:acte][:motclefs].fetch(:motclefs).split(",")
a = Array.new
Motclef.where(motcle: q).find_each do |mot|
a << mot.id
end
这也只找到第一个结果,例如:[251]。
我希望得到类似[1453, 252, 654]
谢谢!
【问题讨论】:
标签: ruby-on-rails postgresql find each