16
11

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.

Railsの命名規則についてのメモ

Last updated at Posted at 2015-09-19

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

みたいな感じ。

他にも言及すべきことがあったら思い出し次第追加したいです。

16
11
3

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
16
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?