背景
Rails環境構築ができた後のコーディングの進め方をまとめました。
また、Ruby自体初心者の方は下記の記事に目を通しておくといいと思います。
・Ruby基礎文法
コントローラー作成
コントローラーは基本的にモデル単位(DBのテーブル単位)で作成します。コントローラー名は複数形にします。
下記コマンドでコントローラーとコントローラーに対応するViewファイルをまとめて作成できます。
ちなみに、Railsの命名規則でファイル名がスネークケース、クラス名はキャメルケースとなっています。
rails generate controller コントローラー名
上記コマンド実行時のコントローラー名はスネークケース、キャメルケースのどちらでも作成されるファイル名はスネークケースになります。
また、上記のコマンドを使わず手動でコントローラーを作成することもできます。その際はコントローラーに対応するViewファイルも作成しましょう。
アクション作成
アクションとはController内のメソッドのことです。
アクション内で行う処理がない場合も空のメソッドを作成します。
下記のようにすると、コマンドでコントローラー作成と同時にアクションを作成できます。
rails generate controller コントローラー名 アクション名1 アクション名2
新しく作ったアクションにさせたい処理が既存アクションですでに実装されている場合、render
を使用することで既存アクションを使いまわすことができます。下記は例です。
def create
#他アクションに対応するViewを返す
render action: :new
#他コントローラーのアクションを返す
render template: "hoge/new"
#jsonを返す
render json: @hoge
#テキストを返す
render text: "hoge"
#xmlを返す
render xml: @hoge
end
アクションではActiveRecordを介してデータベースを操作し、Viewに値を渡します。
下記は7つのアクションについての記事です。
[Ruby on rails]7つのアクション以外のアクションの設定
アクション以外のクラス作成
プロジェクト内の任意の場所にディレクトリを作成し、そこにクラスを作りましょう。(app/commonclass/Hoge.rbやlib/Hoge.rbなど)
作ったらコントローラーから下記のように読み込ませます。
class HogeController < ApplicationController
#クラス読み込み
require './app/commonclass/hoge'
def index
end
end
上記のようにrequireを使う以外にも、config/application.rb
に下記を追記すれば読み込ませることができます。
config.autoload_paths += %W(#{config.root}/読み込ませたいディレクトリ #{config.root}/読み込ませたいディレクトリ)
ルーティング設定
下記の記事を参考にしました。
Rails ルーティング 基礎 まとめ
蛇足
下記は命名規則についての記事です。
・Railsにおける命名規則
特に下記の記事を参考にさせていただきました。
・他言語経験者による初めてのrails
・【Rails】クラスファイルを用意してcontrollerから呼び出したい
最後に、参考にさせていただいた記事の投稿者の皆様、ありがとうございます。
私の記事に不備などありましたらご指摘いただけると幸いです。