我有两张桌子例如“水果”和“食物”当我用相应的模型为水果表创建一个新条目时,如何将这个条目的对象和属性保存到另一个名为All的表中?
或者更简单:如何在保存新条目时更新另一个表?
我需要“更新id=x的值”

最佳答案

你必须这样做:

class Fruits < ActiveRecord::Base

    after_save :update_the_all_table

    private

        def update_the_all_table
            allobject = All.find(self.id)
            allobject.someattribute = self.someattribute # self is the fruit
            allobject.save
        end

end

就这样你知道,你也可以做以下如果你不想写的“私人”!
class Fruits < ActiveRecord::Base

    after_save { |fruit|
        allobject = All.find(fruit.id)
        allobject.someattribute = fruit.someattribute
        allobject.save
    }

end

10-06 05:27