根据另一个参数创建对象

时间:2014-03-13 13:32:16

标签: ruby-on-rails ruby-on-rails-3.2

我使用Rails 3.2,我想知道一个" rails way"基于来自另一个参数的参数创建对象。我有类StoredItem和类RequestedItem,它们没有关联,但在参加请求项目的过程中,我希望列出所有的itens和从所请求的部件号存储的数量。 我想像

@requested_items = RequestedItem.includes(:item_description).where("item_request_id = ?", params[:id])

@stored_items = StoredItem.where("item_description_id = ?",@requested_items.item_description_id)

显然这似乎不起作用,因为我有很多描述ID要比较,不仅仅是一个,所以,最好的和正确的方法是什么?

任何帮助将不胜感激,谢谢:)

1 个答案:

答案 0 :(得分:3)

@stored_items = StoredItem.where("item_description_id IN (?)",@requested_items.map(&:item_description_id))

或者

@stored_items = StoredItem.where(:item_description_id => @requested_items.map(&:item_description_id))