我正在制作一分钱拍卖网站,我希望拍卖会在模型中安排时开始,最好的方法是什么? 我应该尝试延迟工作还是有更好的方法?
答案 0 :(得分: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之后被击中,在模型中设置“关闭”属性,以确保服务器中的时钟更改不会重新打开已经结束的拍卖,这可能也是一种好习惯。< / p>