Rails:label_method的两个值(simple_form_for)

时间:2016-06-22 09:51:34

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

我想创建一个新的pm_workload。我有以下代码片段

<%= f.input :project_id, :collection => PmProject.order('name'), :label_method => :name, :value_method => :id, :label => "Project", :include_blank => false %>

是否可以选择使用两个值:label_method?例如
:label_method => :name << (PmProject.project_number)

1 个答案:

答案 0 :(得分:0)

标签方法中不可能有属性或字段名称。但我有一个替代解决方案,你可以解决这个问题。

您正在使用PmProject集合,因此现在创建一个实例级方法,如下所示在PmProject模型中。

def name_of_method
  "#{name} #{project_number}"
end

现在在简单表单的视图输入上使用相同的内容,如下所示......

<%= f.input :project_id, :collection => PmProject.order('name'), :label_method => :name_of_method, :value_method => :id, :label => "Project", :include_blank => false %>