除了展示挑战name
之外。我还想在deadline
旁边显示name
。
例如,它看起来像这样:
Visit London 09/09/16
Make $1,000,000 10/15/18
Knit a Scarf 01/11/19
而不仅仅是这个:
<%= f.collection_select :challenge_id, current_user.challenges.order(:deadline),:id,:name, include_blank: true %>
答案 0 :(得分:1)
在name_with_deadline
challenge.rb
def name_with_deadline
"#{name} #{deadline}"
end
然后将此方法用作集合中的标签。
<%= f.collection_select :challenge_id, current_user.challenges.order(:deadline),:id, :name_with_deadline, include_blank: true %>
name_with_deadline
方法将调用集合中的每个对象来检索标签文本。
希望这有帮助!
答案 1 :(得分:1)
您可以为模型添加虚拟属性,如下所示:
def name_deadline
"#{name} #{deadline}"
end
<强> collection_select:强>
<%= f.collection_select :challenge_id, current_user.challenges.order(:deadline),:id,:name_deadline, include_blank: true %>