0

現在、タイトルケースに使用している顧客名の文字列があります。

@customer_name = @customer_name.titlecase

しかし、これは少し長すぎるようです。私がやろうとすると:

@customer_name.titlecase!

メソッドなしエラーが発生します。titlecase!存在しますか?downcase!たとえば、があるので、これを行う方法がないのは奇妙に思えます。

4

2 に答える 2

1

http://as.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html#M000381で、すべてのタイトルケースがこれであることを確認できます(bang メソッドがないことにも注意してください)。

def titleize
  Inflector.titleize(self)
end

したがって、これを実装したい場合は

class String
  def titleize!
    replace titleize
  end
end

それで:

>> the_string = "oh hai"
=> "oh hai"
>> the_string.titleize!
=> "Oh Hai"
>> the_string
=> "Oh Hai"
于 2012-11-04T14:42:31.420 に答える
0

! の有無にかかわらず、小文字は Ruby メソッドです。タイトルケースはありません。おそらく、それが bang バージョンがない理由です。Rails 開発者は、おそらく bang バージョンを定義することを気にしませんでした。

于 2012-11-04T11:30:32.477 に答える