1

我制作了一个便士拍卖网站,我希望拍卖在模型中安排好的时候开始,最好的方法是什么?我应该尝试延迟工作还是有更好的方法?

4

1 回答 1

0

根据您的说法,我认为您根本不需要后台工作。

请记住,您需要在控制器和视图中工作。仅仅在视图中隐藏出价按钮是不够的,您还需要在控制器上阻止出价。

在控制器中,只需执行以下操作:

def create
  if Time.zone.now > @auction.start_datetime && Time.zone.now < @auction.end_datetime
    @bid = Bid.new(params[:bid])
    respond_to do |format|
      if @bid.save
        format.html { redirect_to @bid, notice: 'Bid was successfully created.' }
      else
        format.html { render action: "new" }
      end
    end
  end
end

一旦在@auction.end_datetime 之后点击控制器,在模型中设置“关闭”属性,以确保服务器中的时钟更改不会重新打开已经关闭的拍卖,这可能也是一个好习惯。

于 2013-09-24T01:09:14.887 回答