[解決済み] 文字列の最初の文字だけを大文字にして、他はそのままにしますか?(Railsの場合)
2022-12-01 14:35:21
質問
Railsに文字列の最初の文字を大文字にし、他の文字はそのままにさせようとしています。私は、"i'm from New York" が "I'm from new york." になってしまう問題に遭遇しています。
最初の文字を選択するには、どのような方法をとればよいでしょうか。
ありがとうございます。
EDITです。 macekさんが提案されたものを実装してみたのですが、その際に "未定義のメソッド `capitalize'" エラーが発生します。コードはcapitalizeの行がなくても問題なく動作します。助けてくれてありがとうございます!
def fixlistname!
self.title = self.title.lstrip + (title.ends_with?("...") ? "" : "...")
self.title[0] = self.title[0].capitalize
errors.add_to_base("Title must start with \"You know you...\"") unless self.title.starts_with? 'You know you'
end
EDIT 2: 動作するようになりました。ありがとうございました。
EDIT 3です。 待って、違うんです...。私のリストモデルにはこんなのがあります。
def fixlistname!
self.title = self.title.lstrip + (title.ends_with?("...") ? "" : "...")
self.title.slice(0,1).capitalize + self.title.slice(1..-1)
errors.add_to_base("Title must start with \"You know you...\"") unless self.title.starts_with? 'You know you'
end
EDIT 4: macekさんの編集を試してみましたが、やはり 未定義のメソッド `capitalize'" エラーが発生します。何が間違っているのでしょうか?
def fixlistname!
self.title = title.lstrip
self.title += '...' unless title.ends_with?('...')
self.title[0] = title[0].capitalize
errors.add_to_base('Title must start with "You know you..."') unless title.starts_with?("You know you")
end
EDIT 5: これは変ですね。下の行で未定義メソッドエラーは解消されました。問題は、最初の文字を数字に置き換えてしまうようなのです。例えば、大文字にする代わりに y で あなた を、それは y を121に変換します。
self.title[0] = title[0].to_s.capitalize
どのように解決するのですか?
Titleize はすべての単語を大文字にします。 この行は重く感じますが、変更された文字が最初の1文字だけであることを保証します。
new_string = string.slice(0,1).capitalize + string.slice(1..-1)
更新します。
irb(main):001:0> string = "i'm from New York..."
=> "i'm from New York..."
irb(main):002:0> new_string = string.slice(0,1).capitalize + string.slice(1..-1)
=> "I'm from New York..."
関連
-
[解決済み] jQueryで、ユーザーがそのフィールドを編集している間、テキストフィールドの最初の文字を大文字にするにはどうすればよいですか?
-
[解決済み】Bundler: コマンドが見つからない
-
[解決済み】gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] rake db:migrateを使って1ステップだけロールバックする方法
-
[解決済み] 文字列の各単語の最初の文字を大文字にするにはどうすればよいですか?
-
[解決済み] Javascriptで文字列の1文字目を削除する
-
[解決済み] Pythonで文字列が繰り返されるかどうかを判断するにはどうすればよいですか?
-
[解決済み】railsの文字列とtextの違い?
-
[解決済み】文字列をパースしてNULL可能なint型にする方法
-
[解決済み】文字列内の各単語の最初の文字を大文字にする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み】Webpacker::Manifest::MissingEntryError【クローズド
-
[解決済み] Ruby on Railsのランナー
-
[解決済み] Mac OS Xにhomebrewがインストールされているかどうかを確認する方法
-
[解決済み] heroku push rejected, failed to compile Ruby/rails app
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜ?
-
[解決済み] Railsです。gemを使った特定バージョンのライブラリのアンインストール
-
[解決済み] railsアプリケーションでCookieのオーバーフロー?
-
[解決済み] Heroku: 既存のrailsアプリにseeds.rbをプッシュする方法?