如何增加“周”属性?
def newweek
current_user.userprofile.week += 1
respond_to do |format|
format.html { redirect_to :action => "index"}
end
end
初始值为 0 。每次运行新周时,周应增加 1 。
不幸的是,每次运行 newwek 时,该值仍为 1 。我该如何解决这个问题?
class NewWeekToUserprofile < ActiveRecord::Migration
def change
add_column :userprofiles, :week, :integer, :default => 0
end
end
答案 0 :(得分:2)
您可以使用.increment
方法。
current_user.userprofile.increment :week
答案 1 :(得分:1)
试试这个:
def newweek
cu_p=current_user.userprofile
cu_p.week=cu_p.week.nil? ? 1 : cu_p.week +1
cu_p.save
respond_to do |format|
format.html { redirect_to :action => "index"}
end
end
编辑以测试userprofile的值(nil或不是)