回る男の備忘録

どこかでプログラム書いてシャニマスして野球見てTwitterやってる人間の駄文

【Rails】エラーメッセージの日本語化

ゴッドフィールド面白いですね。

さて、今回はRailsでのエラーメッセージの日本語化です。
Railsのデフォルトでは、エラーメッセージは英語で表示されます。

対応

Gemfileに以下を追加し、bundle installする

gem 'rails-il8n'

config/application.rbclass Application内で以下を設定する

config.il18n.default_locale = :ja

config/localesに以下のファイルを作成する

ja.yml

ja.ymlを以下のとおり設定し、日本語化

以下はUserモデルを日本語化対象とした場合

ja:
  activerecord:
    attributes:
      user:
        name: ユーザー名
        email: メールアドレス
        password: パスワード

ymlファイルの変更になるのでインデントには気をつけましょう。

上記の対応を行うことで恐らくエラーメッセージが日本語化されると思われます。
また、各バリデーションに対応するエラーメッセージも設定可能です。

続・ActiveRecord(Select編)

おはようございます。

ActiveRecordでSelectする際の現時点でのまとめです。

find_by

find_byの引数で指定した条件でヒットした最初の1件を返す。
1件だけ取得ではなくて条件にヒットした最初の1件を返す。
普通に1件だけ取得だと勘違いしていました。

where

条件にマッチしたデータを取得。
SQLのWHERE句のこと?
NOTやANDもセットできるらしいけど現状まだ必要に迫られていないのでこのあたりで。

現状必要となっているのがこのあたりなので、まとめはおわり。

has_secure_password使用時にエラー発生

「has_secure_passwordを使ってパスワードハッシュ化するぞ~」とウキウキだったのも束の間、以下のエラーが発生しました。

cannot load such file --bcrypt

なんじゃこりゃ!と調べてみると同じ事象の方が結構いらっしゃるらしいですね。
どうやらGemfileに指定したbcryptのバージョン指定が古かったのが原因っぽかったです。

なので、
1. gem uninstall bcrypt
2. gem uninstall bcrypt-ruby
3. gem install bcrypt --platform=ruby
4. Gemfileで指定したbcryptを3.1.11にし、bundle installを実行

最後にサーバーを再起動することで問題なく動作することを確認できました。

備忘録備忘録

ActiveRecordを使ってみた!

タイトルがYoutuberっぽいですね。
備忘録です。

ActiveRecordの詳しい説明はQiitaとかの記事見たほうがいいので、ここでは説明しません。
使ってみた感想を書いていきます。とは言っても初心者レベルの知識しかないので浅い内容になりますが・・・

INSERTがかんたん!

通常SQLを記述する場合、以下のようになると思います

INSERT INTO HogeTable VALUES (name: hoge)

ActiveRecordを使うと以下のように書けます

hoge = Hoge.new(name: 'hoge')
hoge.save

プログラムを書くようにインスタンス化して使えるので直感的で分かりやすい。素晴らしいです。

総括

するほではないです。INSERTが楽で感動です。 これから色々と作り込んでいくのでそのときに覚えればいいかな。

以上。

Scss(Sass)とは?

備忘録備忘録

すごく単純に言うと超強力になったCSSです。わかりやすいですね。
私自身対して書けないですが、ネストが書けるのが凄く楽。

h1 {
  color: red
  .hoge {
    margin: auto;
  }
}

上記の記述はめっちゃ適当ですがこんなふうに書けるから視覚的よく分かるのが素晴らしい。

実際にScssを実行するにはCSSコンパイルが必要になります。
Railsとかのフレームワークを利用すればあまり気にする必要ないのではないかなと。

ネスト以外にも色々と書きやすいので一度使ってみるのはいいかもしれないですね。

どうしてRailsなんですか?Laravelじゃだめなんですか?

Laravel書かないんですか?

LaravelというよりPHP書く気分ではないからです。
近年ではLaravelがイケイケです。ですが、初心者向けで調べると、Rails関連の記事がゴロゴロと出てくるので初心者には向いてるんじゃないかと思いました(意味不明)
初心者向けが躓いた箇所をまとめた記事の量が単純に多そうって感じですね。

つまりRubyを書いてみたいってことなんですよ。
Laravelは嫌いじゃないし、そのうち書くと思いますけど今はRails書きたいのです。

少なくとも作る予定のサービス(ローンチするかは分からない)が完成するまではRailsで戦います。