我是新來的rails。到目前爲止,我很喜歡它,但有幾個小問題(代碼邏輯在PHP中工作,但我不知道如何在Rails中)。Rails 3:鏈接保存方法
例如:
u = User.first
u.age +=1
u.save
即工作,但如果我連鎖它,它會引發錯誤
u = User.first
u.age+=1.save
拋出的誤差是未定義的方法 '保存' 1:Fixnum對象
任何幫助表示讚賞。謝謝
我是新來的rails。到目前爲止,我很喜歡它,但有幾個小問題(代碼邏輯在PHP中工作,但我不知道如何在Rails中)。Rails 3:鏈接保存方法
例如:
u = User.first
u.age +=1
u.save
即工作,但如果我連鎖它,它會引發錯誤
u = User.first
u.age+=1.save
拋出的誤差是未定義的方法 '保存' 1:Fixnum對象
任何幫助表示讚賞。謝謝
你可以實現你正在尋找這樣
u.tap { u.age += 1 }.save
雖然這並不一定要更新的屬性,然後保存最佳方式鏈接。爲了做到這一點,我會用update_attribute
u.update_attribute(:age, u.age+1)
u.age += 1
返回一個沒有save
方法的整數。
是的,我想也是如此,因此,在短期,Rails的真的不支持鏈接? – Henson 2012-02-21 03:04:34
取決於你需要什麼樣的鏈接。這不是有效的情況:(像「string」.strip.length或User.where(:age => 20).last是有效的。 – wanghq 2012-02-21 03:14:42