我的视图中有以下grouped_collection_select
:
<%= grouped_collection_select(:classroom, :course_id, @classrooms, :courses, :name, :id, :name) %>
如何自定义显示标签,使其成为2个属性的串联?
答案 0 :(得分:1)
grouped_collection_select
将method-name作为标签的参数。通过在集合中的每个对象上调用该方法来生成标签。
在您的示例中,该方法称为:name
,但您可以在Classroom
类上创建一个包含所需两个属性的方法,例如:
# totally made up - use whatever attributes and method-name you want
def name_and_location
[name, location].join(': ')
end
然后只在集合中使用它 - 选择:
<%= grouped_collection_select(:classroom, :course_id, @classrooms, :courses, :name_and_location, :id, :name) %>
注意:以上示例适用于组标签...但您可以同样为单个项目标签执行相同操作,只需使用最后一个参数并将方法放在Course
模型上