Ruby on rails Can';t由rake routes命令指定的访问路径
我似乎无法正确理解rails 3.1中的路由 (请记住,我正在从事一个依赖于炼油厂cms gem的项目) 在我的路线中,我有以下几点:Ruby on rails Can';t由rake routes命令指定的访问路径,ruby-on-rails,routing,rake,Ruby On Rails,Routing,Rake,我似乎无法正确理解rails 3.1中的路由 (请记住,我正在从事一个依赖于炼油厂cms gem的项目) 在我的路线中,我有以下几点: Blog::Application.routes.draw do resources :news, :as => :news_items, :controller => :news_items, :only => [:show, :index] scope :module => "refinery" do scope(
Blog::Application.routes.draw do
resources :news, :as => :news_items, :controller => :news_items, :only => [:show, :index]
scope :module => "refinery" do
scope(:path => 'refinery', :as => 'refinery_admin', :module => 'admin') do
resources :news, :as => :news_items, :controller => :news_items
#resources :news, :except => :show, :as => :news_items, :controller => :news_items
end
end
end
rake routes命令的输出为:
news_items GET /news(.:format) {:action=>"index", :controller=>"news_items"}
news_item GET /news/:id(.:format) {:action=>"show", :controller=>"news_items"}
refinery_admin_news_items GET /refinery/news(.:format) {:action=>"index", :controller=>"refinery/admin/news_items"}
POST /refinery/news(.:format) {:action=>"create", :controller=>"refinery/admin/news_items"}
new_refinery_admin_news_item GET /refinery/news/new(.:format) {:action=>"new", :controller=>"refinery/admin/news_items"}
edit_refinery_admin_news_item GET /refinery/news/:id/edit(.:format) {:action=>"edit", :controller=>"refinery/admin/news_items"}
refinery_admin_news_item GET /refinery/news/:id(.:format) {:action=>"show", :controller=>"refinery/admin/news_items"}
PUT /refinery/news/:id(.:format) {:action=>"update", :controller=>"refinery/admin/news_items"}
DELETE /refinery/news/:id(.:format) {:action=>"destroy", :controller=>"refinery/admin/news_items"}
我的应用程序中的以下代码导致错误:
<%= form_for [:refinery, @news_item] do |f| %>
<% end %>
告诉我以下路径:
undefined method `refinery_news_items_path' for #<#<Class:0x0000010663c480>:0x00000106623980>
未定义的方法“精炼厂新闻项目路径”#
不存在
来自rake-routes命令的任何路径都不起作用。我很有信心,这是一个设定的问题。我实际上是在编写一个插件到DefineryCMS gem,而没有实际使用插件生成器,我只是把它当作一个普通的web应用程序来构建
我的项目是在这里为那些谁愿意采取高峰托管
有人知道可能是什么问题吗?您将“炼油厂”范围界定为“炼油厂管理”,因此当您进行rake路线时,您得到了炼油厂管理新闻项目
如果去掉:as=>“refinery\u admin”
子句,您的路线将返回“正常”您将“refinery”范围界定为“refinery\u admin”,因此当您进行rake路线时,您得到了refinery\u admin\u新闻项目
如果去掉
:as=>“炼油厂管理”
子句,您的路线将返回“正常”看来问题出在炼油厂CMS gem的工作方式上。显然,我不应该立即使用url帮助器,我应该使用以下内容:
main_app.new_refinery_admin_news_item_path
问题似乎出在炼油厂CMS gem的工作方式上。显然,我不应该立即使用url帮助器,我应该使用以下内容:
main_app.new_refinery_admin_news_item_path
不,不是这样。我可能会花些时间弄清楚到底发生了什么事。不,不是这样。我可能会花些时间弄清楚到底发生了什么。