Iveには次の問題があります。私は活性化された列を持つユーザーと呼ばれるモデルを持っています。私はそのメソッドを有効にしてその値を更新しようとしていますが、それは私にエラーを与えます:検証は失敗しました:パスワードは空白ではない、パスワードは短すぎます(最小は6文字です)パスワードフィールド!私は活性化された列を更新したいだけです。私はそれが関連していると思うコードをここに入れているが、あなたはもっと質問する必要があると思うならば:) あらかじめありがとう!Rails update_attribute
モデル:メソッドが起動し、そこから
attr_accessor :password
attr_accessible :name, :email, :password, :password_confirmation, :activated
has_many :sucu_votes
email_regex = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i
validates :name, :presence => true,
:length => { :maximum => 50 }
validates :email, :presence => true,
:format => {:with => email_regex},
:uniqueness => { :case_sensitive => false }
validates :password, :presence => true,
:length => { :within => 6..15 },
:confirmation => true
before_save :encrypt_password
def activated?
self.update_attributes!(:activated => true)
return self.activated
end
コントローラ?
def activate
if request.get?
user=User.find_by_id(params[:id])
if user.activated?
flash[:notice]="Your account has been activated"
#redirect_to :controller => 'sessions', :action => 'new'
else
flash[:error]="We couldnt activate the account"
redirect_to :controller => 'sessions', :action => 'new'
end
end
end
のためのコールバックの残りの部分をスキップする必要がありますありがとうございました!私は実際にそれが前にそれを持っていたが、別の理由で働いていなかった。しかし、そのすべての今ok :) – gumlym