【问题标题】:shoppe gem: ActiveRecord::RecordNotFound in ProductsController#buyshoppe gem:ActiveRecord::RecordNotFound in ProductsController#buy
【发布时间】:2015-07-27 16:26:02
【问题描述】:

我正在尝试将 rails 中的 shoppe gem 用于电子商务。我遵循了与http://tryshoppe.com/docs 中的指导方针完全相同的事情。我确实设法设置了应用程序、创建管理员和创建产品,但问题出在“购物篮”(http://tryshoppe.com/docs/tutorials/baskets)部分,当我尝试在视图页面中“添加到购物篮”时,它会引发错误:

ActiveRecord::RecordNotFound in ProductsController#buy 找不到 Shoppe::Product

错误突出显示了这一行:

@product = Shoppe::Product.find_by_permalink!(params[:permalink])

返回 nil。

只是为了检查一下,我什至复制粘贴了整个代码,以确保它不是错字。

我真的需要帮助,因为我多次尝试找出问题所在。

【问题讨论】:

  • 您是否运行了它要求您执行的所有生成器。例如:rake db:migrate shoppe:setup ? .并且您的模型文件夹中应该有一个名为Shoppe 的模块。您可以做的另一项测试是在rails console 中运行Shoppe::Product,看看它是否有效..

标签: ruby ruby-on-rails-4 activerecord gem


【解决方案1】:

如果您在 Buy 操作中将 root 添加到查找产品线,它应该可以解决此问题。整行应该是……

@product = Shoppe::Product.root.find_by_permalink!(params[:permalink])

同一控制器中的 Show 方法中的行给了我解决这个问题的方法。

【讨论】:

    猜你喜欢
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多