RAILS:将simple_form与父/子帐户一起使用

时间:2012-11-20 17:33:53

标签: ruby-on-rails forms associations parent

我在项目中使用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的用户(与项目所属的相同)。有没有办法做到这一点?我做了一些谷歌搜索,到目前为止还没有提出任何建议。

2 个答案:

答案 0 :(得分:0)

您应该提取属于公司的所有用户,并将其传递到列表进行分配,是吗?在您的方法(帮助者或模型)

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

它应该返回一个实例对象数组,您可以在列表中使用它们。

答案 1 :(得分: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与当前用户匹配的用户(与项目的用户匹配)