2

私のアプリケーションでは、メンバー テーブルに collection_select があり、メンバー テーブルには ID のみが含まれています。user_id、project_id、role_id などがあります。

collection_select にメンバー名を表示したい。しかし、メンバー テーブルには user_id しかありません。ユーザー テーブルの名前をオプションとして表示するにはどうすればよいですか?

<%= collection_select(nil, :member_id, members, :id, :user_id,
                 {:prompt   => "Select a member"}) %>

これで、選択ボックスにオプション 1、2、3、4 などが表示されます。user テーブルの name1、name2 である必要があります。

誰でもこれを経験していますか?

4

1 に答える 1

3

まず、メンバー モデルに新しいメソッドを追加する必要があります。

class Member < ActiveRecord::Base
  belongs_to :user
  def member_name
    user.name
  end
end

次に、text_method引数をmember_name次のように変更します。

<%= collection_select(:member, :member_id, members, :id, :member_name,
                 {:prompt   => "Select a member"}) %>
于 2009-09-25T08:25:36.737 に答える