個人アプリ開発 バリデーション・エラーメッセージ設定
コメント機能
文字数制限のバリデーションを追加し、投稿に失敗した場合はアラートを出すようにしました。
モデル編集
ーーー追記ーーー validates :title, presence: true, length: { maximum: 20 } validates :text, presence: true, length: { maximum: 140 }
コントローラ編集
def create @comment = Comment.create(comment_params) if @comment.save redirect_to group_path(@comment.group.id) else ーーー追記ーーー flash[:alert] = "コメントの投稿に失敗しました。入力内容をご確認ください。" redirect_to group_path(@comment.group.id) end end
ビュー編集
flash.each do |message_type, message| .alert = message
truncate
ビューを編集している時にコメントのテキストに文字を目一杯入力した場合、見た目が悪くなることに気がつきました。
そしてここで便利なヘルパーメソッドを発見。
いい感じに修正ができました。
= truncate(group.comments[-1].text, :length => 90)
90文字を超える文字を"..."に置き換えてくれます
group.comments[-1].text
対象記事の最新コメント(テキスト)を取り出す
アカウント機能
エラーメッセージの日本語化
config/application.rb
module Pictweet class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.load_defaults 6.0 # 日本語の言語設定 config.i18n.default_locale = :ja # 省略 end end
gemインストール
gem ‘rails-i18n'
config/locales/devise.en.ymlに以下URLのコードをコピペ
https://github.com/tigrish/devise-i18n/blob/master/rails/locales/ja.yml
config/locales内にja.ymlを追加し下記を追加
ja: activerecord: models: user: ユーザー attributes: user: name: 名前 email: メールアドレス