はじめに
「Ruby on Rails 5 速習実践ガイド」のアウトプットを行うための投稿です。
業務でrailsを使用しているため、知識をプライベートでも蓄えようと思い取り組んでます。
今回は、本書のアプリケーションを立ち上げ後の設定関連を投稿します。
目次
slimファイルに変換
Gemfiileの最終行に、以下を追加
gem 'slim-rails'
gem 'html2slim'
記述後ターミナルで以下を実行
bundle install
bundle exec erb2slim app/views/layouts/ -d
2行目のコマンドで、「app/views/layouts/」以下のファイルをerbをもとに、slimファイルを作成してくれます。オプション「-d」は、htmlファイルを削除するオプションです。もし、htmlファイルを残しておきたい場合は、こちらのオプションを付けません。
bootstrapの導入
Gemfiileの最終行に、以下を追加
gem 'bootstrap'
記述後ターミナルで以下を実行
bundle install
scssファイルに変換
app/assets/stylesheets/application.cssを削除し、同じフォルダにapplication.scssを作成し、ファイルに以下の記述を追記します。
@import 'bootstrap'
エラーメッセージの日本語化
GitHubのrails-I18nリポジトリに翻訳されたものがあるのでそちらを以下のコマンドでダウンロードします。
wget https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/fa.yml -P config/locales/
ダウンロード後、デフォルトで日本語コンテンツを利用するように、locale.rbを作成し、以下の記述を追記します。
Rails.application.config.i18n.default_locale = :ja
モデルのカラム名を日本語化
画面にモデル名を表示するとテーブルのカラム名がそのまま出力されてしまいます。
(例:User.nameのときは、nameと表示されてしまいます)
そこで、ja.ymlにモデル名とカラム名に対応する日本語を割り当てます。なお、インデントがずれるとうまくいかないので、注意です!
---
ja:
activerecord:
errors:
messages:
record_invalid: 'バリデーションに失敗しました: %{errors}'
restrict_dependent_destroy:
has_one: "%{record}が存在しているので削除できません"
has_many: "%{record}が存在しているので削除できません"
models:
task: タスク
attributes:
task:
id: ID
name: 名称
description: 詳しい説明
created_at: 登録日時
updated_at: 更新日時
定義後、ビューでhuman_attribute_nameメソッドを使って日本語表示をします。
Task.human_attribute_name(:name)