【发布时间】:2023-08-05 00:05:01
【问题描述】:
我正在尝试使用Spree Commerce 创建一个链接到每个Vendor 的商店页面的路由。该页面应列出详细信息(名称、关于我们等)以及给定供应商的产品。
https://example.com/stores/vendor-one
我的 routes.rb 配置:
Spree::Core::Engine.routes.draw do
resources :stores
end
我的 stores_controller 控制器:
module Spree
class StoresController < Spree::StoreController
require 'vendor'
def show
@vendor = current_spree_vendor
end
end
end
我的 show.html.erb 模板:
<h2><%= @vendor.name %></h2>
<p><%= @vendor.about_us %></p>
我得到的错误:
Spree::Stores#single 中的 NoMethodError
显示 /myapp/app/views/spree/stores/show.html.erb 其中第 2 行出现:
nil:NilClass 的未定义方法“名称”
第 2 行:
<h2><%= @vendor.name %></h2>
如何通过从 url 获取名称来加载给定的Vendor?我是 Rails 新手,因此我们将不胜感激任何帮助!
【问题讨论】:
标签: ruby-on-rails oop model-view-controller spree