在我的用戶模型中,我已經是創建用戶時,我最初設置爲1「sign_in_count」欄:Rails的增量登錄計數器
class User < ActiveRecord::Base
before_save { self.sign_in_count = 1 }
end
當我去鐵軌控制檯可正常工作,我可以拿回1:
u = User.last
u.sign_in_count
=> 1
然後,我創造了我的SessionsHelper的方法:
def sign_in_count(user)
user.sign_in_count += 1
end
然後,我把它叫做我的SessionsC像這樣的控制器:
def create
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
log_in user
sign_in_count(user)
.
.
.
end
但是,sign_in_count永遠不會增加。我登錄得很好。我沒有任何錯誤或任何事情。我檢查控制檯和sign_in_count始終是1.任何想法,我在這裏做錯了嗎?
您檢查過'user.sign_in_count'或'sign_in_count(user)'嗎? –
Thieu的'.increment'方法看起來很棒。另外,你的問題可能是你目前不叫'user.save'? – jvillian
'user.sign_in_count + = 1'不會保存它。 – ShallmentMo