RoR网站实施策略

时间:2016-03-19 18:16:42

标签: javascript ruby database ruby-on-rails-4

我是网络开发的新手,如果这是一个基本问题,我道歉。我正在为在RoR中完成的拍卖网站选择最合适的策略寻求建议。

用户可以创建在特定时间段内处于活动状态的拍卖。每次拍卖都应该有相应的数据库表,一个用于一般细节(即创建它的用户,到期时间)和另一个持有每个出价的表。 出价表更多用于记录保存 我对数据库一无所知,并假设有多个出价表,每次出价多次拍卖都可能使系统超载,所以一旦拍卖到期,我想导出出价表的记录并删除它。

如果这是最好的方法,这是我的疑点

  1. 在拍卖创建时,可以严格生成出价表 动态的特定拍卖,如果是这样的话?
  2. 假设出价表是动态创建的。当用户放置一个 bid,我可以使用javascript / ajax / JSON发帖保存 出价表的详细信息?
  3. 发帖请求的代码如何显示?从那以后我就一直在假设 表是动态制作的,没有相应的型号, controller / actions / view我可以参考,也可以调用 拍卖模式。
  4. 是否可以导出db表记录并根据它们删除它们 时间到期,如果是这样的话?
  5. 非常感谢所有帮助。

1 个答案:

答案 0 :(得分:2)

我还没有看到动态创建的数据库表 - 它肯定不常见。

更典型的是制作单个出价表并为每个出价记录存储auction_id。您可以使用has_manybelongs_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,则必须略微更改此导出功能,因为它们具有只读文件系统。

由于您询问了如何在一个时间范围内选择出价,我只会链接到有关该主题的thisthis问题。

相关问题