我在用户输入报价的网站(如投标系统)上需要重新定价的代码有问题,但报价将得到验证,如果高于保留价,则接受,如果低于,再试一次等.
关于如何在 ruby on rails 中执行此操作的指针的任何想法?我为用户完成了大部分代码,只是这部分我发现很难研究。
因此,他们的用户将有一个输入字段,他们在验证之前输入价格。(明显地)
我在用户输入报价的网站(如投标系统)上需要重新定价的代码有问题,但报价将得到验证,如果高于保留价,则接受,如果低于,再试一次等.
关于如何在 ruby on rails 中执行此操作的指针的任何想法?我为用户完成了大部分代码,只是这部分我发现很难研究。
因此,他们的用户将有一个输入字段,他们在验证之前输入价格。(明显地)
您没有提供太多关于您的业务对象的信息,因此我将做出一些假设。我的假设是:
Item
和Bid
.Item
可以有多个出价Item
有一个属性,reserve_price
(小数?)Bid
有一个属性,amount
(也是一个小数)如果您只想创建满足Item
其所属底价的出价,您将需要使用自定义验证器。这是通过调用validate
你的模型来完成的,当你的模型得到验证时,将你想要调用的方法的名称(作为符号)传递给它。像这样:
class Bid < ActiveRecord::Base
belongs_to :item
validate :ensure_meets_reserve_price
private
def ensure_meets_reserve_price
if amount < self.item.reserve_price
errors.add(:amount, "does not meet reserve price")
end
end
end
请记住,这是对您的要求做出很多假设,但希望这能展示 Rails 的自定义验证器。在此示例中,如果amount
指定的 forBid
不符合 的保留价格,Item
则不会创建出价,并且会提供一条错误消息,您可以向用户显示。