首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何告诉Rails如何正确地大写首字母缩写?

如何告诉Rails如何正确地大写首字母缩写?
EN

Stack Overflow用户
提问于 2009-04-29 16:45:05
回答 2查看 566关注 0票数 5

在我的一个模型中,有一个名为sui的字段。它代表“标准用户标识符”。当字段中存在验证错误时,Rails会打印“需要Sui”或"Sui已被占用“。

我如何告诉Rails 'sui'.titleize是"SUI"?我查看了Inflector.human,但这并不完全正确。

EN

回答 2

Stack Overflow用户

发布于 2009-04-29 16:58:15

在这种情况下,我使用custom_err_msg插件。安装后,您可以给出如下自定义错误消息:

代码语言:javascript
复制
validates_presence_of :sui, :message => '^SUI is required'

当您将^放在开头时,Rails不会将字段名称放在其中。

编辑:还有另一个用于翻译的插件i18n_label,但你可以用非常简单的方式将字段的名称替换为更好的名称(在插件页面上有一个例子)。它会将名称替换为:

代码语言:javascript
复制
<%= f.label :sui %>
YourModel.human_attribute_name "sui"

和错误消息中。

票数 7
EN

Stack Overflow用户

发布于 2014-03-25 22:44:43

您可以通过配置提供titleize方法的ActiveSupport::Inflector来完成此操作。只需在初始化器中定义您自己的inflections即可。

代码语言:javascript
复制
# config/initializers/inflections.rb
ActiveSupport::Inflector.inflections do |inflect|
  inflect.acronym 'SUI'
end

重新启动您的应用程序以获取更改。现在titleize知道如何处理"SUI“了。启动一个Rails控制台来检查它:

代码语言:javascript
复制
> "sui".titleize
=> "SUI"

查看链接的文档,了解更多关于词形变化的更酷的东西。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/803262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档