0

在我看来,我有一个带有选择的表单

    <%= label_tag("employee_names", "Employees") %>
    <%= select_tag("employee_names", params[:employee_names]) %>

然后我有一堆用户,这些用户有一个 nameuser.name和一个 id user.id

我在控制器中有一个方法,当给定用户 ID 时,将我的列表缩小到特定的用户对象。

    if params[:employee_names].present?
      @time_sheets = @time_sheets.joins(:user).where("users.id IN (?)", params[:employee_names])
    end

所以我遇到的问题是,我不确定如何用用户名列表填充我的选择框。然后在提交时,我需要它为该方法提供用户 ID。这样做的最佳方法是什么?

4

2 回答 2

0

我认为options_from_collection_for_select应该为您解决问题。

更多信息:http: //api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_from_collection_for_select

select_tag :employees, options_from_collection_for_select(@employees, 'id', 'name')
于 2013-08-06T21:04:55.143 回答
0

您正在寻找collection_select

<%= collection_select(:employee, :employee_id, @time_sheets, :id, 'Employees') %>
于 2013-08-06T21:05:22.757 回答