提供网站上的底价

时间:2012-07-16 17:23:37

标签: ruby-on-rails

我遇到了在用户输入要约的网站上重新定价所需的代码问题,例如出价系统,但要约将被验证,如果高于保留,则接受,如果在下面,再试一次等​​。

有关如何在轨道上的ruby中执行此操作的指示的任何想法?我已经为用户完成了大部分代码,只是这部分我发现很难研究。

因此,他们的用户会有一个输入字段,在输入字段之前,他们也会在验证之前输入价格。 (显然)

1 个答案:

答案 0 :(得分:1)

您没有提供有关您的业务对象的大量信息,以使其成为一个非常可回答的问题,因此我将做出一些假设。我的假设是:

  1. 您正在制作eBay克隆,因此您有两个相关模型:ItemBid
  2. Item可以有多个出价
  3. Item有一个属性reserve_price(小数?)
  4. Bid有一个属性amount(也是小数)
  5. 如果您只想创建符合其所属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的保留价格,则不会创建出价,并会提供您可以向您展示的错误消息用户。