使用基於舊版Railscast的代碼,http://railscasts.com/episodes/142-paypal-notifications,我一直在嘗試將網站的不同信息傳遞給站點中的不同部分,但問題似乎與以下代碼一致。Ruby on Rails,自ActiveRecord更改以來,如何使用Post來傳遞數據?
def create
@pProduct = Product.find(params[:product])
@item = Item.create!(:cart => current_cart, :product => @pProduct, :quantity => 1, :pPrice => @pProduct.pPrice)
flash[:notice] = "Successfully added #{@pProduct.pName}"
redirect_to current_cart_url
end
並處理該輸入的代碼,在應用程序控制器中找到。
def current_cart
if session[:cart_id]
@current_cart ||= Cart.find(session[:cart_id])
session[:cart_id] = nil if @current_cart.purchased_at
end
if session[:cart_id].nil?
@current_cart = Cart.create!
session[:cart_id] = @current_cart.id
end
@current_cart
end
產生的錯誤是。
ActiveModel::MissingAttributeError in ItemsController#create
can't write unknown attribute `cart_id'
Rails.root: /home/timewaster/Aptana Studio 3 Workspace/cs2512
Application Trace | Framework Trace | Full Trace
app/controllers/items_controller.rb:4:in `create'
我知道這可能是一些可笑的簡單,但是任何輸入將受到歡迎,因爲我已經被關上我的頭變成了這個在過去的半小時一堵牆。
編輯:根據要求,routes.rb我很抱歉如何遍佈這個地方。
http://pastebin.com/gq4Ekzvn 編輯︰原來我是一個白癡,架構問題吸吮。
你介意發佈'routes.rb'文件嗎?好像你可能會錯過那裏的東西? – mportiz08 2012-03-16 02:18:35
http://pastebin.com/gq4Ekzvn Pasteinned爲了方便。 current_cart方法實際上在我的應用程序控制器中,我設法忽略了一個事實。 – timewaster 2012-03-16 02:27:50
我沒有在那裏看到任何將current_cart_url定義爲路由助手的東西 - 你可以運行'rake routes'來確保'current_cart_url'被定義了嗎? – mportiz08 2012-03-16 02:32:26