I'm getting this error:
undefined method `post_comments_path' for #<#<Class:0x1052a6e98>:0x1052a4be8>
Extracted source (around line #27):
24:
25: <% end%>
26:
27: <% form_for [@post, Comment.new] do |f| %>
28: <p>
29:
30: <%= f.label :name, "Author" %><br />
My routes:
Myblog::Application.routes.draw do
root :to => 'posts#index'
resources :comments
resources :posts, :has_many => :comments
post.rb
class Post < ActiveRecord::Base
has_many :comments
end
comment.rb
class Comment < ActiveRecord::Base
belongs_to :post
end
views/posts/show.html.erb
<p id="notice"><%= notice %></p>
<p>
<b>Title:</b>
<%= @post.title %>
</p>
<p>
<b>Body:</b>
<%= @post.body %>
</p>
<h2>Comments</h2>
<% @post.comments.each do |c|%>
<p>
<b><%=h c.name %>said: </b>
<%= time_ago_in_words(c.created_at)%> ago
</p>
<p>
<%= c.body%>
</p>
<% end%>
<% form_for [@post, Comment.new] do |f| %>
<p>
<%= f.label :name, "Author" %><br />
<%= f.text_field :name %><br />
<%= f.label :body, "Comment Description" %><br />
<%= f.text_area :body %>
</p>
<p>
<%= f.submit "Add Comment" %>
</p>
<% end %>
<%= link_to 'Edit', edit_post_path(@post) %> |
<%= link_to 'Back', posts_path %>
Confused as I don't see any reference to post_comments_path??
rake routes:
root /(.:format) {:action=>"index", :controller=>"posts"}
comments GET /comments(.:format) {:action=>"index", :controller=>"comments"}
comments POST /comments(.:format) {:action=>"create", :controller=>"comments"}
new_comment GET /comments/new(.:format) {:action=>"new", :controller=>"comments"}
edit_comment GET /comments/:id/edit(.:format) {:action=>"edit", :controller=>"comments"}
comment GET /comments/:id(.:format) {:action=>"show", :controller=>"comments"}
comment PUT /comments/:id(.:format) {:action=>"update", :controller=>"comments"}
comment DELETE /comments/:id(.:format) {:action=>"destroy", :controller=>"comments"}
posts GET /posts(.:format) {:action=>"index", :controller=>"posts"}
posts POST /posts(.:format) {:action=>"create", :controller=>"posts"}
new_post GET /posts/new(.:format) {:action=>"new", :controller=>"posts"}
edit_post GET /posts/:id/edit(.:format) {:action=>"edit", :controller=>"posts"}
post GET /posts/:id(.:format) {:action=>"show", :controller=>"posts"}
post PUT /posts/:id(.:format) {:action=>"update", :controller=>"posts"}
post DELETE /posts/:id(.:format) {:action=>"destroy", :controller=>"posts"}