我试图做一个基本的结账页面,这里是我到目前为止有:使用持久关联创建非持久记录的操作?
结账托管断transactions#new
和形式是建立掀起了新Transaction
对象。 Transaction
有一些嵌套模型的它下面:
class Transaction < ActiveRecord::Base
# ...
accepts_nested_attributes_for :user, :shipping_address, :products
# ...
end
User
,Product
和Location
(送货地址),当您到达付款页面,根据用户流量可以持续。 Product
始终在抵达结帐页面时持续存在。
除了故障情况外,此设置对我来说至今仍然有效。我一直在试图重新创造新的纪录Transaction
(在用户信息之前输入的),以显示相应的错误消息,并且我已经在我的控制器试着这样做:
class TransactionsController < ApplicationController
def new
@transaction = Transaction.new
end
def create
@transaction = Transaction.new params[:transaction]
# ...
end
end
但我得到这个错误:
ActiveRecord::RecordNotFound in TransactionsController#create
Couldn't find Product with ID=1 for Transaction with ID=Request Parameters
{"utf8"=>"✓", "authenticity_token"=>"blahblahblah", "transaction"=>{"products_attributes"=>{"0"=>{"id"=>"1", "quantity"=>"1"}}}}
有没有人知道这是怎么回事?让我知道如果您需要了解我的设置在这里了信息...试图削减这个问题下到最基本...
class Transaction < ActiveRecord::Base
has_many :product_transactions
has_many :products, :through => :product_transactions
end
和
class Product < ActiveRecord::Base
has_many :product_transactions
has_many :transactions, :through => :product_transactions
end
和
class ProductTransaction < ActiveRecord::Base
belongs_to :transaction
belongs_to :product
end
嘿,你可以发布'交易'和'产品'之间的关系吗? – Azolo 2012-02-10 01:11:51
@Azolo - 附在我的问题的底部。 – neezer 2012-02-10 01:22:54