【问题标题】:RAILS: Using simple_form with parent/child accountsRAILS:将 simple_form 与父/子帐户一起使用
【发布时间】:2012-11-20 17:33:53
【问题描述】:

我在具有以下关联的项目中使用 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 的用户(与项目所属的相同)。有没有办法做到这一点?我已经进行了一些谷歌搜索,但到目前为止一无所获。

【问题讨论】:

    标签: ruby-on-rails forms associations parent


    【解决方案1】:

    我找到了一种处理方式:

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

    只显示company_id与当前用户匹配的用户(与项目匹配)

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 谢谢,不过我找到了一种在线处理它的方法。我已经发布了我的答案。
      猜你喜欢
      • 2013-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多