2010年9月14日火曜日

devise もう少しいじる

実際に使われるアプリを書く、となると私の場合

  1. 職員室内で使うユーティリティ
  2. パソコン室内で使う子ども用アプリ
のどちらかになる。いやherokuとかにアップできるような腕を持てれば別だが。
そうすると、ユーザ認証にe-mailっておおげさなんだなあ。

で、deviseでemailを使わない方法を試してみる。

ログインにemailを使わない方法は、本家のwikiに書いてあった。今回はユーザ名とパスワードだけでログインするから、config/initalizer/devise.rb中の

config.authentication_keys = [ :email ]


を、
config.authentication_keys = [ :name ]


に変える。で、user.rbを編集。
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable, :lockable and :timeoutable
devise :database_authenticatable,:authentication_keys => [:name]
devise :registerable, :recoverable, :rememberable, :trackable, :validatable

# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me,:name

validates :name,:presence=>true,:length=>{:maximum=>20}

end


さらにviewもカスタマイズする必要があるので、devise.rbの110行目、
config.scoped_views = true

のコメントを外す。そして
rails g devise:views users

でviewをuserのviewに生成させる。

ここまででうまくいくわけですが、サインアップ時にはまだemailを入力しないとエラーになる。

うむうむ、今日はこんなところ。だいたい毎日1時間程度しかまともにrails触れないので、進みません。土日が楽しみ。

0 件のコメント:

コメントを投稿