这是我的第一个问题stackoverflow,我觉得有点愚蠢无法自己修复错误,但在这里。Rails 3 - 没有路由匹配错误
我试图在一个网页索引链接连接到编辑动作,我得到以下错误:
No route matches {:action=>"edit", :controller=>"pages"}
所以,很显然我先检查了控制器 - 有绝对的编辑操作在那里!
这里是我的相关耙路输出:
pages GET /pages(.:format) pages#index
POST /pages(.:format) pages#create
new_page GET /pages/new(.:format) pages#new
edit_page GET /pages/:id/edit(.:format) pages#edit
page GET /pages/:id(.:format) pages#show
PUT /pages/:id(.:format) pages#update
DELETE /pages/:id(.:format) pages#destroy
而且我的config/routes.rb文件:
Portfolio::Application.routes.draw do
resources :pages
resources :sessions, only: [:new, :create, :destroy]
resources :users
root to: 'pages#home'
match '/signup', to: 'users#new'
match '/signin', to: 'sessions#new'
match '/signout', to: 'sessions#destroy', via: :delete
match '/admin', to: 'admin#index'
match '/new', to: 'pages#new'
match '/edit', to: 'pages#edit'
match '*path', :controller => 'redirect', :action => 'index'
而控制器动作,以防万一。
def edit
@page = Page.find(params[:id])
end
我想我也想给视图,其中路径被称为:
<% Page.where("parent_id IS NULL").each do |page| %>
<li>
<%= link_to page.title, page %>
<%= link_to "Edit", page, edit_page_path %>
<%= link_to "Delete", page, method: :delete,
data: { confirm: "You sure?" } %>
</li>
<% end %>
我有没有看到我的错别字的可怕的习惯,所以,如果我做了一个愚蠢的一个这将解释为什么我无法解决这个问题。
任何帮助,将不胜感激。
谢谢!
我做到了这一点,并从行的中间删除了页面变量,它完美地工作。非常感谢!不能相信我错过了那一个。 – ToriBean 2012-07-26 09:30:42