我正在尝试创建一个管理学术会议的应用程序。用户将登录并提交摘要,供考虑在年度大会上发布。对于我所做的大部分工作,我都遵循了“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
注意更新你的模型关系,根据你以前的评论,感觉不对。 –