2

「週」プロパティをインクリメントするにはどうすればよいですか?

def newweek
 current_user.userprofile.week += 1
 respond_to do |format|
  format.html { redirect_to :action => "index"}
 end
end

初期値は0です。newweekが実行されるたびに、週は1ずつインクリメントされます。

残念ながら、newwekが実行されるたびに、値は1のままです。どうすれば修正できますか?

編集

class NewWeekToUserprofile < ActiveRecord::Migration
  def change
     add_column :userprofiles, :week, :integer, :default => 0
  end
end
4

2 に答える 2

2

メソッドを使用できます.increment

current_user.userprofile.increment :week
于 2012-12-05T03:14:19.683 に答える
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 かどうか)

于 2012-12-05T03:09:54.903 に答える