【问题标题】:RoR site implementation strategyRoR 站点实施策略
【发布时间】:2016-03-19 18:16:42
【问题描述】:

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

用户可以创建在一段时间内有效的拍卖。每个拍卖都应该有相应的数据库表,一个用于一般详细信息(即创建它的用户、到期时间),另一个用于保存每个出价的表。 出价表更用于记录保存。
我对数据库一无所知,并假设有多个投标表,每次投标多次拍卖可能会使系统过载,所以一旦拍卖到期,我想导出投标表的记录并将其删除。

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

  1. 在创建拍卖时,是否可以严格生成出价表 为特定拍卖动态进行,如果是,如何?
  2. 假设投标表是动态创建的。当用户放置一个 出价,我可以使用 javascript/ajax/JSON 发出 post 请求以保存 出价表的详细信息?
  3. 发布请求的代码看起来如何?我假设从 表是动态制作的,没有对应的模型, 控制器/动作/视图我可以参考,也可以通过调用 拍卖模式。
  4. 是否可以导出db表记录并删除它们 时间到期,如果是怎么办?

非常感谢所有帮助。

【问题讨论】:

  • 我使用过数十亿行的数据库。使用正确的索引,它们仍然可以在几毫秒内响应查询。数据库只是为了处理大量数据而构建的。无需为每件出售的商品创建新表。而且很可能没有理由长时间将旧数据导出到存档中。

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


【解决方案1】:

我还没有看到动态创建的数据库表 - 这当然不常见。

更典型的做法是制作一个投标表并为每个投标记录存储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 问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    相关资源
    最近更新 更多