railsでモデルやコントローラー名の命名規則でたまにミスることがあるので、改めてまとめてみた。
例えばとあるWebサービスで会員情報をMemberというモデルで管理する場合、
モデル名: Member
モデル名は先頭が大文字。複数の単語を用いる場合は、"WomenMember"みたいに先頭が大文字の単語をつなげる。しかしファイル名は小文字で複数の単語はアンダースコアでつなげる。"women_member.rb"みたいな感じ。
class Member < ActiveRecord::Base
end
テーブル名: members
テーブル名は小文字で複数形に。
class CreateMembers < ActiveRecord::Migration
def change
create_table :members do |t|
t.timestamps
end
end
end
コントローラー名: Member::SessionsController
例えばsession関係の処理を行うためのコントローラー"sessions"を作成する場合は、"rails g controller sessions"となり、コントローラー名は基本的に複数形でも単数形でもいい?・・・
class Member::SessionsController < ApplicationController
def new
end
def create
end
def destroy
end
end
ルーティングでは、
namespace :member do
root 'top#index'
get 'login' => 'sessions#new', as: :login
post 'session' => 'sessions#create', as: :session
delete 'session' => 'sessions#destroy'
end
となる。で、リダイレクトやリンク等でアクションを指定する時は、
redirect_to :member_login
みたいな感じ。
他にも言及すべきことがあったら思い出し次第追加したいです。