Rails
でアプリを作成するときに、作成の初期段階でまとめておくと便利だと思ったコードをいくつかまとめてます(自分用)
Ruby on Rails
をインストールする
% rails _6.0.0_ new 'ファイル名' -d mysql
データベースを作成する前に設定しておくべきこと
config/database.yml
# encoding: utf8mb4
=> encoding: utf8
詳しい説明はまだできないですが、utf8mb4
のままだとバイト数の関係でうまくマイグレートできません。
utf8mb4
のままデータベースを作成したときの対応はこちらを参考にします。
【MySQL】Mysql2::Error: Specified key was too long; max key length is 767 bytes
もし設定を間違えてデータベースを作成してしまったら
% rails db:drop
% rails db:create
一通りインストールしておきたいgem
gemfile.rb
gem 'devise' #ユーザー登録機能の実装
gem 'mysql2', '>= 0.5.3' #mysqlのバージョンを変更
gem 'pry-rails' #エラーを確認したりテストを行う際に使用
gem 'mini_magick' #ImageMagickを使用するためのgem
gem 'image_processing' #画像サイズを調整するgem
gem 'active_hash' #都道府県等静的データを扱うときに便利なgem
リセットCSSを適用する
ブラウザにはデフォルトでCSS
が設定されているので、これをリセットするために適用します。
app/views/layouts/application.html
<head>
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.18.1/build/cssreset/cssreset-min.css">
</head>
要素サイズの設定をする
何も設定しないままだとCSS
でpadding
やborder
を設定したときに、意図していない大きさになる可能性があるので、思い通りの要素サイズになるように設定します。
application.css
* {
box-sizing: border-box;
}
devise
を諸々設定する
% rails g devise:install
% rails g devise user
% rails g devise:views
% rails db:migrate
未ログインユーザーの閲覧を制限する
controller.rb
before_action :authenticate_user!, except: [:index, :show]
devise
で設定したemail
,password
以外のカラムを使用できるようにする
app/controllers/application_controller.rb
before_action :configure_permitted_parameters, if: :devise_controller?
private
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:])
end