相关模型的简单表格label_method

时间:2014-02-05 09:27:11

标签: ruby-on-rails ruby simple-form

我有一个使用slim / simple_form的表单。

= f.association :users,
  collection: @users,
  prompt: "Choose Recipient",
  label_method: :first_name

我想将用户的全名作为标签方法,有人能指出我正确的方向吗?我只有first_name和last_name作为属性。为了清晰起见,我还希望在其全名旁边添加用户的公司名称。简单形式是否允许这样做?否则我将退回到选择

的集合中的选项

2 个答案:

答案 0 :(得分:1)

在您的模型上创建方法:

class User < ArcitveRecord::Base
  # ...

  def full_name
    "#{first_name} #{last_name}"
  end
end

并使用它:

= f.association :users,
  collection: @users,
  prompt: "Choose Recipient",
  label_method: :full_name

答案 1 :(得分:1)

如果您希望在company_name旁边添加full_name,我只需将 Broisatse的答案修改为

class User < ArcitveRecord::Base
  # ...

  def full_name_with_company_name
    "#{first_name} #{last_name} #{company_name}"
  end
end

并使用它:

= f.association :users,
  collection: @users,
  prompt: "Choose Recipient",
  label_method: :full_name_with_company_name