在 collection_select 上使用大写

2024-01-28

如果之前已经回答过这个问题,我就找不到它了。

我有以下内容:

= f.collection_select :sex_id, @sexes, :id, :name

在控制器中:

@sexes = Sex.all

性别全部以小写形式存储,如下所示:

id|name
 1|steer
 2|heifer
 3|holstein

我需要它们以大写字母输出:

Steer
Heifer
Holstein

I tried:

= f.collection_select :sex_id, @sexes, :id, :name.capitalize
= f.collection_select :sex_id, @sexes, 'id', 'name'.capitalize

但它们不起作用,我真的没想到它们会起作用,但在发布此内容之前必须先尝试一下。


collection_select在每个对象上调用一个方法来获取选项值的文本。您可以在模型中添加一个新方法来获取正确的值:

def name_for_select
  name.capitalize
end

然后在视图中:

= f.collection_select :sex_id, @sexes, :id, :name_for_select
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 collection_select 上使用大写 的相关文章

随机推荐