我正在嘗試創建一個管理學術會議的應用程序。用戶將登錄並提交摘要,供考慮在年度大會上發佈。對於我所做的大部分工作,我都遵循了「Ruby on Rails 3教程」。我的修改包括添加提交模型,註冊模型和訂單模型。提交模型屬於用戶模型和has_one訂單。未定義的局部變量或方法`current_submission'for#<OrdersController:0x000000056a6a30>
我正在嘗試關注使用ActiveMerchant整合PayPal Express結賬的Railscast 145/146集。我的目標是在提交的show.html.erb頁面上放置一個PayPal結賬按鈕,以便在作者提交摘要後,他可以立即支付提交費用。
錯誤源於下面的代碼我已提交訂單後:
class OrdersController < InheritedResources::Base
def new
@order = Order.new
end
def create
@order = current_submission.orders.build_order(params[:order])
@order.ip_address = request.remote_ip
if @order.save
# flash[:notice] = "Successfully created order."
#redirect_to orders_url
else
render :action => 'new'
end
end
end
從我已閱讀,我認爲這個問題有訂單如何與意見做。每個提交應該有一個相關的訂單條目,所以在訂單表中應該有一個submission_id。我很困惑這是如何工作的。
難道有人請指點我正確的方向嗎?是否有用戶指南,你會建議我閱讀? Rails的不同版本之間似乎存在很多衝突的信息。我正在使用Rails 3.0.10。
謝謝!
「current_submission」沒有上下文;你如何設置你的資源?我也不確定用戶的'has_one'訂單關聯。 –
我的routes.rb文件包含:資源:提交我意識到提交是複數。我認爲資源指向控制器而不是模型。 – user975604
注意更新你的模型關係,根據你以前的評論,感覺不對。 –