2012-03-07 22 views
4

[編集:この問題の解決策はroutes.rbファイルにあります。 ":comments"行に "resources"の代わりに "resource"がありますRuby on Railsチュートリアルのステップ9で未定義メソッド `post_comment_path '

私はhttp://guides.rubyonrails.org/getting_started.htmlのガイドに従っています。私はセクション9の "コメントの削除"にいます。私はガイドを段階的にフォローしてきましたが、コードを入力する代わりにコードをカット/ペーストしていましたので、私はタイプミスを覚えました。私はブランド・スパンキング - Railsの新機能であり、それはまだ私にとっては外国だから、このチュートリアルを続行する前にこれを修正したいと思います。

何が悪いと思いますか?私のroutes.rbを除いから

アン:

resources :posts do 
    resource :comments 
    end 

私はコメントしてポストを表示しようとすると、私は次のエラー受け取る:へのルーティング、あなたのルートで

NoMethodError in Posts#show 

Showing C:/Documents and Settings/stevez/Desktop/blog/app/views/comments/_comment.html.erb where line #12 raised: 

undefined method `post_comment_path' for #<#<Class:0x1f13238>:0x1eecf70> 
Extracted source (around line #12): 

9: </p> 
10: 
11: <p> 
12: <%= link_to 'Destroy Comment', [comment.post, comment], 
13:    :confirm => 'Are you sure?', 
14:    :method => :delete %> 
15: </p> 
Trace of template inclusion: app/views/posts/show.html.erb 

Rails.root: C:/Documents and Settings/stevez/Desktop/blog 

Application Trace | Framework Trace | Full Trace 
app/views/comments/_comment.html.erb:12:in `_app_views_comments__comment_html_erb___131033543_18407100' 
app/views/posts/show.html.erb:19:in `_app_views_posts_show_html_erb___843714715_14332200' 
app/controllers/posts_controller.rb:18:in `show' 
Request 

Parameters: 

{"id"=>"2"} 
Show session dump 

Show env dump 

GATEWAY_INTERFACE: "CGI/1.1" 
HTTP_ACCEPT: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" 
HTTP_ACCEPT_CHARSET: "ISO-8859-1,utf-8;q=0.7,*;q=0.3" 
HTTP_ACCEPT_ENCODING: "gzip,deflate,sdch" 
HTTP_ACCEPT_LANGUAGE: "en-US,en;q=0.8" 
HTTP_CACHE_CONTROL: "max-age=0" 
REMOTE_ADDR: "127.0.0.1" 
REMOTE_HOST: "localhost" 
SERVER_NAME: "localhost" 
SERVER_PROTOCOL: "HTTP/1.1" 
Response 

Headers: 

None 
+1

エラーが発生する場合は、行番号とファイルを取得する必要があります。それは非常に役に立ちます。 – rwilliams

+0

出力を私の質問に追加しました。他に助けがあれば(特定のファイルなど)教えてください。 – Steve

+1

この投稿の解決方法を試してくださいhttp://stackoverflow.com/questions/3774916/no-method-error-in-rails-3-app – rwilliams

答えて

10

をコメントは、resourceの代わりにresourcesを意味する複数形である必要があります。

resources :posts do 
    resources :comments 
end 
+0

それはそれを修正しました。ありがとうございました!チュートリアルを振り返ってみると、彼らは正しいです。私はそれを打ち込まなければならないと思います... – Steve

+1

よくある間違い、それは自分自身を数回しました:)それは有効なルーティングなので時々見つけにくいかもしれません。 – DanneManne

+0

面白いのは、Stackoverflowの私の最後の質問は、Javaのコレクションの最後に欠落している "s"のためでした... – Steve

関連する問題