我是网络开发的新手,如果这是一个基本问题,我很抱歉。我正在寻找建议,为一个拍卖网站选择最合适的策略在罗。
用户可以创建在一定时间内处于活动状态的拍卖。每个拍卖都应该有相应的数据库表,一个用于一般细节(即创建它的用户、到期时间),另一个用于保存每个出价的表。
投标表更便于记录。
我对数据库一无所知,并且假设有多个bid表,每次对多个拍卖的出价可能会使系统过载,所以一旦拍卖过期,我想导出bids表的记录并删除它。
如果这是最好的方法,这里是我的怀疑点
在创建拍卖时,是否可以严格地生成bids表
对于特定的动态拍卖,如果是,如何进行?
假设bids表是动态创建的。当用户放置
bid,我可以使用javascript/ajax/json发出post请求来保存
投标表的细节?
post请求的代码看起来如何?我想是因为
表是动态生成的,没有相应的模型,
我可以引用控制器/操作/视图,也可以通过调用
拍卖模式。
是否可以导出数据库表记录并根据
时间到期,如果是,怎么办?
非常感谢大家的帮助。
最佳答案
我还没有看到动态创建DB表——这当然不常见。
更典型的做法是创建一个bids表并存储每个bid记录的auction_id
。您可以使用has_many
和belongs_to
将拍卖与其出价列表链接起来。
然后,当拍卖到期时,找到所有带有auction.bids
的出价,并对其运行导出功能。例如,
require 'yaml' # you could also dump as txt, json, csv, etc
def export(auction_id)
Auction.find(auction_id).bids.each do |bid|
File.open("bids_backup", "a") do |f|
f.puts YAML.dump(bid.attributes)
end
bid.destroy
end
end
注意,如果要部署到heroku,就必须稍微修改这个导出函数,因为它们有一个只读文件系统。
既然你问了关于在一个时间范围内选择出价的问题,我就链接到这个主题的this和this问题。
关于javascript - RoR网站实现策略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36105393/