Rails Form_For具有双重目的的选择

时间:2013-02-10 16:35:10

标签: ruby-on-rails forms form-for html-select

我有添加新工作的表单。在我的表单上,我有一个选择下拉列表。我需要将新工作与客户联系起来。以下效果很好。

<%= f.collection_select :customer_id, Customer.all, :id, :business_name %>

但是,如果我还希望能够将customer_id发送到新表单怎么办?我可以让表单的选择下拉菜单显示所有可能的客户,如上所述,但如果传入customer_id,是否可以自动选择我传递给表单的customer_id?

url = ... jobs / new

OR

url = ... jobs / new?customer_id = 5

如果我没有充分解释这一点,我道歉。 提前致谢。 --jC

2 个答案:

答案 0 :(得分:0)

如果customer_id存在于请求参数中,我认为您通过在控制器中创建的作业上填充customer_id字段来实现此目的。这应该使该特定客户成为表格中最初选择的选项。

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_select

e.g。像。的东西。

if params[:customer_id].present?
    job.customer_id = params[:customer_id]
end

答案 1 :(得分:0)

如果在控制器操作中声明实例变量@customer,则可以将选定选项用作:

<%= f.collection_select :customer_id, Customer.all, :id, :business_name, {:selected => @customer.id} %>