0

属性を 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 のように表示されます。

4

1 に答える 1

-1

update_attributetrueブール値 (または)を返しfalseます。update_attributeまた、代わりに使用update_attributesすると、コールバックが発生しなくなります。

以下を使用する必要があります。

@a.update_attributes(net_salary: @netsalary)
@a.net_salary # will hold the new value
于 2013-10-14T07:24:40.507 に答える