如何更新自模型rails中的属性

时间:2013-10-07 04:30:33

标签: ruby-on-rails activerecord model

如何在rails中更新自我模型?

class BillSubTotal < ActiveRecord::Base
  def self.total
    self.update_attributes(:total => 150)
  end
end

我想从自我模型中获取模型BillSubTotal的更新值吗?

2 个答案:

答案 0 :(得分:1)

取决于你想要做什么,如何去做。

Rails自动为数据库列创建getter / setter方法,因此您不必显式创建该功能,并且可以像这样设置方法:

class BillSubTotal < ActiveRecord::Base
  def update_total
    self.total = 150
  end
end

或者,如果您直接使用该类的实例:

bill_subtotal_instance.total = 150

答案 1 :(得分:0)

这是通过模型更新属性的另一种便捷方式。 您必须在创建后调用方法,并且在该方法中,您可以更新所需的属性。这是代码段。

class MyModel < ActiveRecord::Base

    after_create :insert_default_data

    def insert_default_data
       self.update_attributes!(column_name: value)
    end
 end

这里,insert_default_data方法将在数据库中保存新记录后调用。 我认为这对你有帮助......