【发布时间】:2014-08-18 11:49:51
【问题描述】:
我正在尝试使用 Rails 4.1 构建一个小型费用跟踪应用程序。有一个带有费用名称和上限的费用类型模型。这用于设置 Gas、Mobile 等索赔的最大上限。费用类型属于用户提交的费用模型。在新的费用表单中,他们可以从下拉列表中选择费用类型并添加行项目。
我使用模型方法来计算所有订单项的总数。现在,我想在每次提交后检查总金额是否超过费用类型上限。为每次提交存储费用类型。例如,如果提交的 Gas (expense_type_id = 2) 账单为 100 美元,上限为 80 美元,我想更新通知属性。
我有点困惑如何正确地做到这一点。我尝试了以下方法,但得到了未定义的方法费用类型错误:
def check_cap
if self.expense_amount.to_i != self.expense_type.cap
self.update_attribute(:notification, "This item is over the budget")
end
end
想知道如何正确使用费用类型ID来检查条件有人可以帮我吗?
【问题讨论】:
标签: ruby-on-rails