Ответ 1
вы можете просто использовать .titleize
, как этот "i want to make the first letter of each work into a cap".titleize
вы можете узнать больше о titleize из apidocks
titleize (word) public
Заглавные буквы всех слов и заменяет некоторые символы в строке, чтобы создать более привлекательный заголовок. titleize предназначен для создания довольно вывода. Он не используется во внутренних компонентах Rails.
titleize также псевдонимом, как в качестве заголовка.
Примеры:
"man from the boondocks".titleize # => "Man From The Boondocks"
"x-men: the last stand".titleize # => "X Men: The Last Stand"
"TheManWithoutAPast".titleize # => "The Man Without A Past"
"raiders_of_the_lost_ark".titleize # => "Raiders Of The Lost Ark"
как эта действительность работает
# File activesupport/lib/active_support/inflector/methods.rb, line 115
def titleize(word)
humanize(underscore(word)).gsub(/\b('?[a-z])/) { $1.capitalize }
end
Чтобы на самом деле сохранить "-" в работах, мы можем добавить новый метод в класс строки, подобный этому.
# ./lib/core_ext/string.rb
class String
#"goyette-xyz-is wide road".titleize_with_dashes#=> "Goyette-xyz-is Wide Road"
def titleize_with_dashes
humanize.gsub(/\b('?[a-z])/) { $1.capitalize }
end
end