我在模型级别有代码将属性更新为TeacherPayslip。
TeacherPayslip.rb(模特)
def net_salary
@teacher_id = self.id
@da = (self.basic * self.da)/100
@hra = (self.basic * self.hra)/100
@gs = @da + @hra + self.basic
@pf = (@gs * self.pf)/100
@netsalary = @gs - @pf + self.special_allowance + self.bonus
@a = TeacherPayslip.find(@teacher_id)
#raise @a.inspect
raise @a.update_attribute('net_salary',@netsalary).inspect
end
这里,当我举起@netsalary显示像9789.但更新后(@ a.update_attribute('net_salary',@ netsalary)net_salary显示真值而不是9789。
答案 0 :(得分:-1)
update_attribute
返回布尔值(true
或false
)。此外,使用update_attribute
代替update_attributes
将导致回调不被触发。
您应该使用:
@a.update_attributes(net_salary: @netsalary)
@a.net_salary # will hold the new value