0

次の関連付けがあるプロジェクトでsimple_formを使用しています

Company  
  has_many :users 
  has_many :projects
User  
  belongs_to :company
  has_many :tasks
Project 
  belongs_to :company
  has_many :tasks
Task  
  belongs_to :project
  belongs_to :user

私は次のようなsimple_formアソシエーション入力を使用しています:

<%= f.association :user, :prompt => "Assign To...", :label_method => :first_name, :value_method => :id %>

ただし、正しいcompany_id(プロジェクトが属するものと同じ)を持つユーザーのみをリストする必要があります。これを行う方法はありますか?私はいくつかのグーグルを行い、これまで何も思いつきませんでした。

4

2 に答える 2

0

会社に属するすべてのユーザーを抽出し、それを割り当て用のリストに渡す必要があります、そうですか?あなたの方法(ヘルパーまたはモデル)

@company = Company.find(params[:id])
@labors = @company.users

リストで使用できるインスタンスオブジェクトの配列を返す必要があります。

于 2012-11-20T18:14:11.490 に答える
0

私はそれを処理するインラインの方法を見つけました:

<%= f.association :user, :collection => User.where(:company_id => current_user.company_id), :prompt => "Assign To...", :label_method => :first_name, :value_method => :id %>

company_idが現在のユーザー(プロジェクトのユーザーと一致する)のユーザーと一致するユーザーのみを表示します

于 2012-11-20T18:17:44.980 に答える