将参数传递给另一个控制器的“新”操作

时间:2012-12-11 17:19:49

标签: ruby-on-rails

假设我有2个型号:

FoodOrder
Sales
SalesMeeting

销售人员经常在开会时订购食品,因此我们希望将特定的FoodOrder与SalesMeeting相关联。

我可以这样打电话:

new_food_order_path(@sales_meeting)

并通过

params[:format]

获取我要将其链接到的对象的ID。

然而,让我们说编码人员会嫉妒他们想要在黑客马拉松时订购食物。

如果我可以传入,那就没关系了:

 new_food_order_path(@hackathon, "Hackathon")

 new_food_order_path(@sales_meeting, "SalesMeeting")

但当我试图告诉我有一个

时,Action Controller会对我生气
undefinded method gsub for Nil::NilClass

有办法做到这一点吗?

编辑:实际上,我可以传入一个哈希...我在写这个问题时想到了......我想知道这是否就是Rails所做的......

也许有一种方法可以通过重定向来实现这一点吗?

1 个答案:

答案 0 :(得分:0)

你可以传递一个哈希!

<%= link_to "New Food Order", new_food_order_path({ id: @sales_meeting, model: "SalesMeeting" }) %>

<%= link_to "New Hackathon", new_food_order_path({ id: @hackathon, model: "Hackathon" }) %>