【发布时间】:2021-10-04 13:17:36
【问题描述】:
我有一个collection_select,它的rails 形式如下所示:
<%= form.collection_select :post_id, Post.all, :id, :title, {}, { class: "mt-1 block" } %>
我似乎无法从 docs 或谷歌搜索中弄清楚,如何将多个属性从 Post 传递到下拉列表,以便用户看到的不仅仅是 :title。像这样的:
<%= form.collection_select :post_id, Post.all, :id, :title + :category, {}, { class: "mt-1 block" } %>
我可以创建一个自定义方法传递给text_method,例如Post 模型中的:title_with_category,例如:
<%= form.collection_select :post_id, Post.all, :id, :title_with_category, {}, { class: "mt-1 block" } %>
Post.rb:
def title_with_category
self.title + " " + self.category
end
但这是最好的方法吗?如果是这样,定义它的合适位置是什么?该模型?还是应该在助手中?如果是助手,应该在应用助手中吗?
【问题讨论】:
标签: ruby-on-rails ruby forms collection-select