LoginSignup
4
5

More than 3 years have passed since last update.

Ruby on Railsでアプリを作るときに便利なコピペ集一覧

Last updated at Posted at 2020-12-26

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>

要素サイズの設定をする

何も設定しないままだとCSSpaddingborderを設定したときに、意図していない大きさになる可能性があるので、思い通りの要素サイズになるように設定します。

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
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5