Ruby on rails 3 Spree,将控制器添加到管理页面
我正在尝试将我的自定义控制器添加到spree 1.3.1中的管理部分 我失败了。我想在顶部菜单中看到指向我的contoller.index.html的url。我我做到了: /controllers/spree/admin/parsers\u controller.rb:Ruby on rails 3 Spree,将控制器添加到管理页面,ruby-on-rails-3,routes,spree,Ruby On Rails 3,Routes,Spree,我正在尝试将我的自定义控制器添加到spree 1.3.1中的管理部分 我失败了。我想在顶部菜单中看到指向我的contoller.index.html的url。我我做到了: /controllers/spree/admin/parsers\u controller.rb: module Spree module Admin #class ParsersController < Spree::Admin::BaseController class ParsersContro
module Spree
module Admin
#class ParsersController < Spree::Admin::BaseController
class ParsersController < Spree::Admin::ResourceController
def index
end
end
end
end
Deface::Override.new(:virtual_path => "spree/layouts/admin",
:name => "admin_content_admin_tab_parser",
:insert_bottom => "[data-hook='admin_tabs']",
:text => "<%= tab :parsers, :url => spree.admin_parsers_path, :icon => 'icon-th-large' %>",
:disabled => false)
index.html.erb
<h1>Parser index.html</h1>
Parser index.html
我得到了一个错误:
您的收据显示了相同的错误:
NoMethodError in Spree/admin/overview#index
Showing /home/ssa/spree-1.3.1-0/ruby/lib/ruby/gems/1.9.1/gems/spree_core-1.3.1/app/views/spree/layouts/admin.html.erb where line #54 raised:
undefined method `admin_parsers_path' for #<ActionDispatch::Routing::RoutesProxy:0x0000000612a560>
Extracted source (around line #54):
51: <div class="sixteen columns main-menu-wrapper">
52: <ul data-hook="admin_tabs" class="inline-menu fullwidth-menu">
53: <%= render :partial => 'spree/admin/shared/tabs' %>
54: <%= tab(:promotions, :url => spree.admin_promotions_path, :icon => 'icon-bullhorn') %><%= tab(:users, :url => spree.admin_users_path, :icon => 'icon-user') %><%= tab :parsers, :url => spree.admin_parsers_path, :icon => 'icon-th-large' %>
55: </ul>
56: </div>
57: </div>
Spree/admin/overview中的命名错误#索引
显示/home/ssa/spree-1.3.1-0/ruby/lib/ruby/gems/1.9.1/gems/spree_core-1.3.1/app/views/spree/layouts/admin.html.erb,其中第54行出现:
未定义的方法“admin\u parsers\u path”#
提取的源(第54行附近):
51:
52:-
53:“spree/admin/shared/tabs%>
54:spree.admin\u promotions\u path,:icon=>'icon bullhorn')%%>spree.admin\u users\u path,:icon=>'icon user')%%>spree.admin\u parsers\u path,:icon=>'icon th large'>
55:
我做错了什么?好的,所以问题很简单: 无法在我的模型中声明:
属于:aThingA,:aThingB
需要:
请解释一下你是如何失败的。您的“错误”仅显示输出HTML,而不是实际错误。另外:你有一个Rails应用程序,我们可以克隆并尝试复制这个错误吗?对不起,太晚了,我错过了一个错误。给你。不幸的是,rais无法为我创建控制器的路径。我使用的是simple spree 1.3.1,添加了几个文件和几行代码(它们在问题中)。不幸的是,我在一些公共回购中没有代码。如果你需要,我可以把它加在某个地方。
NoMethodError in Spree/admin/overview#index
Showing /home/ssa/spree-1.3.1-0/ruby/lib/ruby/gems/1.9.1/gems/spree_core-1.3.1/app/views/spree/layouts/admin.html.erb where line #54 raised:
undefined method `admin_parsers_path' for #<ActionDispatch::Routing::RoutesProxy:0x0000000612a560>
Extracted source (around line #54):
51: <div class="sixteen columns main-menu-wrapper">
52: <ul data-hook="admin_tabs" class="inline-menu fullwidth-menu">
53: <%= render :partial => 'spree/admin/shared/tabs' %>
54: <%= tab(:promotions, :url => spree.admin_promotions_path, :icon => 'icon-bullhorn') %><%= tab(:users, :url => spree.admin_users_path, :icon => 'icon-user') %><%= tab :parsers, :url => spree.admin_parsers_path, :icon => 'icon-th-large' %>
55: </ul>
56: </div>
57: </div>
belongs_to :aThingA
belongs_to :aThingB