我遇到了在用户输入要约的网站上重新定价所需的代码问题,例如出价系统,但要约将被验证,如果高于保留,则接受,如果在下面,再试一次等。
有关如何在轨道上的ruby中执行此操作的指示的任何想法?我已经为用户完成了大部分代码,只是这部分我发现很难研究。
因此,他们的用户会有一个输入字段,在输入字段之前,他们也会在验证之前输入价格。 (显然)
答案 0 :(得分:1)
您没有提供有关您的业务对象的大量信息,以使其成为一个非常可回答的问题,因此我将做出一些假设。我的假设是:
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
指定的Bid
不符合Item
的保留价格,则不会创建出价,并会提供您可以向您展示的错误消息用户。