2011-03-06 12 views
0

Railsアプリケーションに問題があります。 が存在するはずの経路を認識していません。私はモデルに基本的なCRUD操作があることを確認するために、routes.rbファイルの先頭にresources :inquiriesを含めました。これは私のウェブサイトのユーザーフィードバックをカタログするためのものです。私はお問い合わせインデックスのビューをレンダリングしようとすると、私は自分のブラウザに次のエラーが表示されます。Railsfulなパスを使用すると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

私は、あなたが問い合わせが表示されるために任命すべき問題がinquiry_pathを使用することによりライン<td><%= link_to inquiry.id, inquiry_path %></td>

によって作成されると思います。だから、パスをする必要があります。

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

あなたがRESTfulなパスを使用している場合、あなたはそれを簡素化できます。これは完全に働いた

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

、ありがとうございました! – ArcGhost

関連する問題