这可能是一个非常简单的修复,但我还没有找到答案。
我的申请有订单和任务。订单有很多任务。当用户在show order视图中单击新任务时,它会传递order.id:
<%= link_to "New Task", new_task_path(:order_id=> @order.id) %>
网址显示:
/tasks/new?order_id=1
我只是不知道如何提取这个并在我的表单中使用它?我试过了:
<%= f.text_field :order_id, :value => @order_id %>
但它不起作用。
答案 0 :(得分:2)
你can do:
<%= f.text_field :order_id, :value => params[:order_id] %>
或者,捕获值(使用params
)in the controller并将其分配给@order_id
。
答案 1 :(得分:-1)
你做错了,这在Rails中是一个大不了的,其中约定配置是如此重要的理想。
如果订单包含许多任务,您的路线应如下所示:
/orders/:order_id/tasks/new
您的路线应该如此配置:
resources :orders do
resources :tasks
end
你应该 [几乎]从不发现自己在查询字符串中传递记录ID。事实上,你几乎不会发现自己在Rails中使用查询字符串。