我想知道是否有一个Rails辅助方法从String中删除连字符并将其大写。
例如,让我们将early-bird
转换为Early bird
。
我愿意
"early-bird".gsub('-', ' ').capitalize
但我想知道是否有一种特定方法可以做到这一点。
答案 0 :(得分:7)
正如其他人所指出的,titleize
接近你想要的。但是对于您想要的确切行为,您可以使用您的代码来制作自己的帮助程序。如果这是一个视图助手,您可以将其放在帮助文件中:
# app/helpers/application_helper.rb
# my_titleize("early-bird") # => "Early bird"
def my_titleize(str)
str.gsub('-', ' ').capitalize
end
或者如果您在模型中使用它,请制作补丁。
# lib/patches/string.rb
# "early-bird".my_titleize # => "Early bird"
class String
def my_titleize
gsub('-', ' ').capitalize
end
end
然后require
模型文件中的补丁文件。
答案 1 :(得分:6)
我认为.titleize是你得到的最接近的,它会把所有单词都大写,而不仅仅是第一个。
public static List<List<String>> englishWordList = new ArrayList<List<String>>(676);
static {
for (int i = 0; i < 676; i++) {
englishWordList.add(new ArrayList<String>());
}
}
会给你&#34;早鸟&#34;。
请参阅:http://api.rubyonrails.org/classes/String.html#method-i-titleize
答案 2 :(得分:3)
您可以在Rails中使用titleize
:
"early-bird".titleize
#=> "Early Bird"
答案 3 :(得分:0)
您也可以使用tr
"early-bird".tr("-"," ").capitalize
#=> "Early bird"