Rails3からRails5へアップデートの作業を行っています。
その際にhuman_nameというメソッドでエラーになってしまい、調べても原因がつかめなかったのでご質問させてください。
Rails3でバリデーションメッセージを生成するメソッドを以下のように定義しています(されています)
def validation_message(object) if object.errors.count == 1 t('activerecord.errors.template.header.one', :model => object.class.human_name) + ":" else t('activerecord.errors.template.header.other', :model => object.class.human_name, :count => object.errors.count) + ":" end end
このコードをRails5に移行した場合に
undefined method `human_name' for #<Class:0x00007f0d25b4c420>
となってしまいます。
調べるとhuman_name
は非推奨になっているとのことですが、代替案が見つかりません。https://apidock.com/rails/ActiveRecord/Base/human_name/class#996-Use-ModelClass-model-name-human
もし、代替案があるかそもそも実装が間違っているなどご指摘あればご教示いただけますと大変助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/04 01:26