2013.08.19 Monday
スポンサーサイト
一定期間更新がないため広告を表示しています
| - | | - | -
Deviseで2種類のロールを利用できるように、通常のユーザーとは別に管理者を追加出来るようにする。
Adminモデルを作成
$ rails generate devise Admin invoke active_record create db/migrate/20111226100548_devise_create_admins.rb create app/models/admin.rb invoke test_unit create test/unit/admin_test.rb create test/fixtures/admins.yml insert app/models/admin.rb route devise_for :admins
Adminモデルが作成される
class Admin < ActiveRecord::Base # Include default devise modules. Others available are: # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable # Setup accessible (or protected) attributes for your model attr_accessible :email, :password, :password_confirmation, :remember_me end
20111226100548_devise_create_admins.rb
class DeviseCreateAdmins < ActiveRecord::Migration def change create_table(:admins) do |t| t.database_authenticatable :null => false t.recoverable t.rememberable t.trackable # t.encryptable # t.confirmable # t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both # t.token_authenticatable t.timestamps end add_index :admins, :email, :unique => true add_index :admins, :reset_password_token, :unique => true # add_index :admins, :confirmation_token, :unique => true # add_index :admins, :unlock_token, :unique => true # add_index :admins, :authentication_token, :unique => true end end
routes.rbに下記の行を追加
devise_for :admins