我試圖做一個基本的結賬頁面,這裏是我到目前爲止有:使用持久關聯創建非持久記錄的操作?
結賬託管斷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