尝试从line_items控制器访问current_cart时未定义?

用户名

单击“添加到购物车”链接后,我试图使用户redirect_to他们的current_cart。我正在订单项控制器中执行此操作,并使用railscasts源代码作为参考。https://github.com/ryanb/railscasts-episodes/blob/master/episode-141/store/app/controllers/line_items_controller.rb

当我单击“添加到购物车”链接时,出现此错误:

未定义的局部变量或方法“ current_cart”

这是我的LineItemsController:

class LineItemsController < ApplicationController
  def create
  @product = Product.find(params[:product_id])
  @line_item = LineItem.create!(:cart => current_cart, :product => @product, 

  :quantity   => 1, :unit_price => @product.price)
  flash[:notice] = "Added #{@product.title} to cart."
  redirect_to current_cart_url
  end
end

这是我的CartsController:

class CartsController < ApplicationController
  def show
  @cart = current_cart
  end
end

谢谢您的帮助。

马塞洛·里贝罗(Marcelo Ribeiro)

看起来您的订单项控制器缺少current_cart方法:

def current_cart
  # where you should find your current cart, i.e.
  @current_cart ||= Cart.find(session[:cart_id])
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

覆盖控制器时未定义的索引

注入控制器时服务未定义

控制器不是函数,未定义,但在全局定义控制器时

在控制器中注入指令时,指令/控制器作用域未定义

AngularJS:使用Jasmine与控制器测试指令时控制器未定义

未定义参数“控制器”

为什么未定义控制器?错误:未定义的索引:控制器

命名空间控制器的未定义局部变量或方法“ current_user”

无法在控制器中访问我的服务(未定义)

从控制器访问ng-model变得未定义

从Angular控制器访问输入字段导致未定义

访问动作控制器哈希中的参数但获得未定义的方法

不允许在取消分配时尝试加载视图控制器的视图,这可能会导致未定义的行为

不允许在取消分配时尝试加载视图控制器的视图,这可能会导致未定义的行为

测试Laravel控制器时视图中的未定义变量

使用指令时ngModel未定义-AngularJS控制器

调用控制器方法时nil:NilClass的未定义方法

在使用ng时在控制器中未定义-单击指令模板

从指令模板传递到控制器时未定义的 ng-repeat 变量

传递给新控制器时,$ routeParams.value未定义

编译时出现错误“试图在我的包上的控制器中调用未定义的方法”

在尝试创建事件侦听器读取的元素时,控制台抛出未定义

AngularJS 1.3.7中未定义控制器

在角度控制器中未定义$ compile

未定义requirejs angularjs控制器

$ scope.data在控制器中未定义

Laravel 启动变量在控制器中未定义

rails link_to控制器方法未定义

控制器(CakePhp)中的未定义索引