在 Rails 应用程序中,我试图在选择标记中格式化值。
就像是
<%= f.collection_select(:country_id, Country.order(:name), :id, :name.to_s.downcase) %>
downcase 方法没有任何效果。我应该能够以这种方式使用它吗?如果没有,我该怎么办?
谢谢
在 Rails 应用程序中,我试图在选择标记中格式化值。
就像是
<%= f.collection_select(:country_id, Country.order(:name), :id, :name.to_s.downcase) %>
downcase 方法没有任何效果。我应该能够以这种方式使用它吗?如果没有,我该怎么办?
谢谢
您可以为模型添加一个方法并为其添加一个符号
class Country
def name_to_lower
self.name.downcase
end
end
<%= f.collection_select(:country_id, Country.order(:name), :id, :name_to_lower) %>
或使用选择 - http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select
<%= f.select(:country_id, Country.order(:name).map {|x| [x.name.downcase, x.id] } %>
如果您的数据库区分大小写,您可能需要指定大小写排序
<%= f.select(:country_id, Country.order("UPPER(name)").map {|x| [x.name.downcase, x.id] } %>