2011-03-06 98 views
0
我有我的Rails應用程序的問題

;它不承認應該存在的路線。我已將resources :inquiries包含在routes.rb文件的頂部,以確保存在與我的查詢模型相關的基本CRUD操作,該模型旨在爲我的網站編目用戶反饋。當我嘗試呈現的查詢索引視圖,我收到以下錯誤在我的瀏覽器:Rails的路由錯誤

`No route matches {:action=>"show", :controller=>"inquiries"}` 

從控制檯的簡單$ rake routes表明,這是不正確的:`

 users GET /users(.:format)    {:action=>"index", :controller=>"users"} 
      POST /users(.:format)    {:action=>"create", :controller=>"users"} 
    new_user GET /users/new(.:format)   {:action=>"new", :controller=>"users"} 
    edit_user GET /users/:id/edit(.:format)  {:action=>"edit", :controller=>"users"} 
     user GET /users/:id(.:format)   {:action=>"show", :controller=>"users"} 
      PUT /users/:id(.:format)   {:action=>"update", :controller=>"users"} 
      DELETE /users/:id(.:format)   {:action=>"destroy", :controller=>"users"} 
    sessions POST /sessions(.:format)   {:action=>"create", :controller=>"sessions"} 
new_session GET /sessions/new(.:format)  {:action=>"new", :controller=>"sessions"} 
    session DELETE /sessions/:id(.:format)  {:action=>"destroy", :controller=>"sessions"} 
    inquiries GET /inquiries(.:format)   {:action=>"index", :controller=>"inquiries"} 
      POST /inquiries(.:format)   {:action=>"create", :controller=>"inquiries"} 
new_inquiry GET /inquiries/new(.:format)  {:action=>"new", :controller=>"inquiries"} 
edit_inquiry GET /inquiries/:id/edit(.:format) {:action=>"edit", :controller=>"inquiries"} 
    inquiry GET /inquiries/:id(.:format)  {:action=>"show", :controller=>"inquiries"} 
      PUT /inquiries/:id(.:format)  {:action=>"update", :controller=>"inquiries"} 
      DELETE /inquiries/:id(.:format)  {:action=>"destroy", :controller=>"inquiries"} 
    about  /about(.:format)    {:action=>"about", :controller=>"pages"} 
     blog  /blog(.:format)    {:action=>"blog", :controller=>"pages"} 
techniques  /techniques(.:format)   {:action=>"techniques", :controller=>"pages"} 
    contact  /contact(.:format)   {:action=>"new", :controller=>"inquiries"} 
    reviews  /reviews(.:format)   {:action=>"reviews", :controller=>"pages"} 
    signup  /signup(.:format)    {:action=>"new", :controller=>"users"} 
    signin  /signin(.:format)    {:action=>"new", :controller=>"sessions"} 
    signout  /signout(.:format)   {:action=>"destroy", :controller=>"sessions"} 
     root  /(.:format)     {:action=>"home", :controller=>"pages"}` 

我要指出,這是我的/查詢/路由無​​法加載,而不是一個個人表演頁。該index.html.erb文件如下:

'<h1>All Inquiries</h1> 


<table> 
    <tr> 
    <th>Link</th> 
    <th>Name</th> 
    <th>Subject</th> 
    <th>Body</th> 
    </tr> 
    <%= @inquiries.each do |inquiry| %> 
    <tr> 
     <td><%= link_to inquiry.id, inquiry_path %></td> 
     <td><%= inquiry.name %></td> 
     <td><%= inquiry.subject %></td> 
     <td><%= inquiry.body[0..140] %>...</td> 
    </tr> 
    <% end %> 
</table>` 

爲什麼應用程序無法找到任何路線的想法?在此先感謝您的時間。

回答

3

我認爲這個問題是由線<td><%= link_to inquiry.id, inquiry_path %></td>

創建通過使用inquiry_path,你應該指定要顯示的查詢。所以路徑應該是:

<td><%= link_to inquiry.id, inquiry_path(inquiry) %></td> 

如果您使用RESTful的路徑,您可以將其簡化爲:

<td><%= link_to inquiry.id, inquiry %></td> 
+0

這完美地工作,謝謝! – ArcGhost