0

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

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

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

url = ...工作/新

或者

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

如果我没有很好地解释这一点,我深表歉意。提前致谢。--jc

4

2 回答 2

0

如果您@customer在控制器操作中声明实例变量,那么您可以使用 selected 选项:

<%= f.collection_select :customer_id, Customer.all, :id, :business_name, {:selected => @customer.id} %>
于 2013-02-10T16:48:25.963 回答
0

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

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

例如类似的东西。

if params[:customer_id].present?
    job.customer_id = params[:customer_id]
end
于 2013-02-10T16:41:47.340 回答