はじめに
この記事はRailsアプリを立ち上げた後の作業をまとめたものです。
何らかの機能を作る際には、モデルを作ってコントローラ作ってルーティング書いて...といった作業が頻発します。
毎回構文を忘れてしまうので、一連の流れをまとめました。
コントローラの作成
まずはコントローラの作成です。
今回は画像を保存する機能を作るのでimagesとします。
rails g controller images
モデルの作成
下記のコマンドでimageモデルを作りましょう!
rails g model image
これでimageモデルが作成されたと思います。
必要であれば、モデルにバリデーションやアソシエーションを記述しましょう。
テーブル作成
モデルを作成した際にマイグレーションファイルも作成されたと思います。
このファイルを編集して主キーやnull制約などの設定を行います。
私の場合は、以下のようにして”filename”を主キーにし、null制約をかけています。
主キーにしたのでそんな制約要らないかもしれませんが...
class CreateImages < ActiveRecord::Migration[5.2]
def change
create_table :images, id: false, primary_key: :filename do |t|
t.string :filename, null: false
t.timestamps
end
end
end
それではマイグレートを実行し、正常終了すればテーブルが作成されます!
rails db:migrate
ビューの作成
画像の一覧を表示するページということで、index.html.hamlを作りましょう。
これまでの作業でimagesディレクトリが作成されているので、そこに作成します。
ビューの内容については、今回の記事で詰めるところではないので適当に"HelloWorld"を出しておきます。
%h1
HelloWorld
ルーティング
ここまで来ればほぼ出来たようなものです。
routes.rbにimagesのルーティングを記載します。
今回はresourcesメソッドを使用してindexアクションのみを設定しました。
Rails.application.routes.draw do
resources :images, only: [:index]
end
結果
出来ました!これで仕事が捗る...!