3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ruby on Rails 備忘録

Posted at

Rails備忘録

新規Railsアプリケーションを作ったり、開発を進める時に定常的に行っている
作業をまとめます。随時更新していきます。

generateコマンドで生成するファイルを減らす

「bin/rails generate」コマンドが生成するファイルを減らします。

/config/initializers/generators.rb
Rails.application.config.generators do |g|
  g.helper false # ヘルパーを作成しない
  g.assets false # CSS, JavaScript ファイルを生成しない
  g.skip_routes true # config/routes.rb を変更しない
  g.test_framework false # テストスクリプトを生成しない
end

コントローラーの作成

# コントローラーを作成する
$ bin/rails generate controller top index

# 誤って生成したコントローラーを削除する
$ bin/rails destroy controller top index

アクション名を指定せずに生成し、後からメソッドを記述したりviewディレクトリに
index.html.erbファイルを作成する事もできます。

$ bin/rails generate controller top

bin/を付けずにrailsコマンドを使うと、 RubyGemsでインストールしたrailsコマンドが
動きます。bin/railsとすると、binディレクトリのスクリプトが使われます。
「generate」は「g」と省略できます。

ルーティングの設定

作成したコントローラーをURLのパスと紐づけるためにルーティングを設定します。

/config/routes.rb
Rails.application.routes.draw do
  root "top#index"
end

データベースの作成

# データベースを作成
$ bin/rails db:create
# 本番用のデータベースを作成
$ bin/rails db:create RAILS_ENV=production
# データベースを削除
$ bin/rails db:drop

タイムゾーンの設定

モデルを作成したりマイグレーションを行う前に、
Railsアプリケーションのタイムゾーンを設定します。

config/application.rb
module Hogehoge
  class Application < Rails::Application
    ...
    config.time_zone = "Tokyo"
  end
end

モデルの作成とマイグレーション

# Memberモデルの作成
$ bin/rails g model member
# マイグレーションスクリプトを作成後、さらにカラムを追加する場合
$ bin/rails g migration AlterMembers
# バーションを指定する
$ bin/rails db:migrate VERSION=xxxxxxxx
# 現在のマイグレーションのバージョンを確認
$ bin/rails db:migrate:status
# 直前に行われたマイグレーションを1つ取り消す
$ bin/rails db:rollback
# 一度に複数のマイグレーションをロールバックする
$ bin/rails db:rollback STEP=3
# マイグレーションを最初からやり直す
$ bin/rails db:migrate:reset

リリース後のマイグレーションは慎重に行いましょう。

マイグレーション用メソッド

メソッド 引数 機能
add_column (テーブル名,カラム名,型,オプション) カラムの追加
rename_column (テーブル名,カラム名,新しい名前) カラム名の変更
change_column (テーブル名,カラム名,型,オプション) カラム型の変更
remove_column (テーブル名,カラム名) カラムの削除
3
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
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?