【发布时间】:2011-06-01 04:24:42
【问题描述】:
我有一个 Transactions 对象(作为购物车的一部分),它属于另外两个对象 Products 和 Services。产品和服务都嵌套在事务中,以创建像 /products/1/transactions/new 和 /services/1/transactions/new 这样的 URL。而且,表单是使用 form_for [@product, @transaction] do |f| 创建的。类型格式。注意:产品和服务的设计和功能差异太大,无法将它们组合成一个 STI 类型的单个对象。
我的问题是:在没有 STI 的情况下,有没有更好的方法来做到这一点?而且,检查控制器以确定要作用的对象类型的最佳方法是什么?
IE 中的新操作:
if ???
@product = Product.find(params[:product_id])
@transaction = @product.transactions.build
elsif ???
@service = Service.find(params[:service_id])
@transaction = @service.transactions.build
end
在相关的说明中,是否有人知道任何讨论 Rails 3 购物车设计的教程?我在书中看到过一些,但他们使用会话来存储整个购物车对象,在我看来这不是很安全。而且,其他人过于简单化了。
任何帮助将不胜感激!
【问题讨论】:
标签: ruby-on-rails-3 e-commerce