我有两张桌子/型号(用户和假日)。用户有一定数量的假期。在假日模型中,用户可以预订多个假日(整数)。
例句: 1)约翰总共有10天的假期,2)约翰的书4假期
结果:约翰还有6天假期。
我知道这与在用户中添加一个方法并将假期传递到其中有关。
我该如何从假期信贷中扣除预订的假期呢?
发布于 2016-06-03 12:16:29
在In用户模型中:
# assuming, you have a method `holidays_booked`,
# that returns the number of booked holidays
def holidays_left
10 - holidays_booked
end就这样。
发布于 2016-06-02 22:03:47
如果每个用户都有一个holiday属性/字段,那么可以通过两个表之间的关联来计算值。
在设置数据库时,可以定义假日信用的默认值。例如:
如果要添加一个列来保存该值:
add_column :users, :holiday_credit, :integer, :default => 10现在,每个用户都将在您的数据库中拥有默认的假日信用。这也可以在对象初始化期间在对象创建时完成。
要更新值,可以编写用户模型中的方法,如下所示:
class User < ActiveRecord::Base
def calculate_holiday_credits
self.holiday_credit = default_value - Holiday.find(self.id).count
end
end该函数可以修改以满足您的需要,但我希望这能给您一个大致的想法。
简而言之,您希望在另一个表中搜索用户模型的id出现的次数,并根据结果进行计算。
预订机制与此正好相反。在假日表中,您希望创建一个方法,该方法与预订假日的用户一起在数据库中创建一个条目,以便当用户运行上面详细介绍的方法时,值将被适当更新。
https://stackoverflow.com/questions/37602730
复制相似问题