0

私の見解では、intを取るtext_field_tagを持つフォームがあり、timesheet.user_idがそのintと一致するタイムシートのみを返します

<%= text_field_tag("user_id", params[:user_id]) %>

そして、私にはたくさんのユーザーがいます。これらのユーザーには nameuser.nameと idがありuser.idます。

コントローラーに pending_approvals というメソッドがあり、ユーザー ID を指定すると、リストを特定のユーザー オブジェクトに絞り込みます。

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

私が問題を抱えているのは、選択ボックスにユーザー名のリストを入力する方法がわからないことです。そして、送信時に、そのメソッドにユーザー ID を与える必要があります。これを行う最善の方法は何ですか?

4

1 に答える 1

0

私が正しく理解している場合は、コレクションのドロップダウン リストにすべてのユーザーとその ID の詳細を表示する必要があります。できるよ:

<%= collection_select :user, :user_id, @users, :name, :id, :prompt => true %>

:text_method は @users メンバーで呼び出されたメソッドで、ドロップダウンに表示するテキストを返します。

ApiDocsはそれを分解します。これがセットアップ方法です。

object = User
method = user_id 
collection @users 
value_method = id 
text_method = name 
option = prompt => true 
于 2013-08-07T03:40:08.693 に答える