我是一名初级开发人员,刚刚参加了第一个铁轨项目。我面临许多障碍,但从中学到了很多。到目前为止,我能够找出Devise中的多个用户以及所有好东西。但对授权半信心十足。我仍然在学习,并且相信我会明白这一点。
但我过去一周唯一的砖墙时刻是为我的应用程序建模订购部分。以下是我正在处理的应用程序的一些摘要:
例如,他的基本价格+保证金,他的保证金对每个零售商来说都是不同的。
那么我该如何建模呢?我希望零售商以各自的价格向供应商下订单。
我需要什么?
产品型号?价格和类型?
单独的公式模型?
答案 0 :(得分:2)
我理解你的感受,因为我以前遇到过这个问题,让我分享一下我的所作所为,希望它有助于解决你的问题:
User
型号:
class User < ActiveRecord::Base
# A user is a registered person in our system
# Maybe he has 1/many retailers or suppliers
has_many :retailers
has_many :suppliers
end
Order
型号:
class Order < ActiveRecord::Base
# An order was placed for supplier by retailer
belongs_to :retailer
belongs_to :supplier
# An order may have so many products, we use product_capture
# because the product price will be changed frequently
# product_capture is the product with captured price
# at the moment an order was placed
has_many :product_captures
end
Product
型号:
class Product < ActiveRecord::Base
belongs_to :retailer
has_many :product_captures
# Custom type for the product which is not in type 1, 2, 3
enum types: [:type_1, :type_2, :type_3, :custom]
end
ProductCapture
型号:
class ProductCapture < ActiveRecord::Base
belongs_to :product
attr_accessible :base_price, :margin
def price
price + margin
end
end
....other models
所以这个想法是:
ProductCapture
,这将成为最新的,所有旧的捕获仍然在数据库中,因为旧订单仍在使用它。