I'm still getting the "undefined method `comments_index_path'" error
The extracted source points at: <%= form_for(@comment) do |format| %> I cannot find where that method would be being called from even..."comments_index_path" only appears in the development.log On Oct 14, 3:08 am, Erol Fornoles <[email protected]> wrote: > You were using a singular resource when you should have defined a plural > one. Also, you can specify the controller on your RESTful route instead > of having to create a separate map.connect or match: > > resources :comments, :controller => 'controller1' > > I recommend that you use consistent naming with your controllers and > routes though. > > HTH > > On 10/14/10 5:53 PM, aperture science wrote: > > > > > > > I'm trying to learn rails as I go along, and having a bit of trouble. > > There is an undefined method cropping that I don't know why rails > > thinks should be there. > > > Firstly, I'm using rails 3, ruby 1.9.2 > > > I have a controller with an index action This part works fine, but i > > am trying to add a comment form to the page that is rendered by that > > index action. > > > Supposing my controller is named controller1, > > > I began this process first with: > > > rails g model comments name:string content:text > > rake rb:migrate > > > Then I went on to define an action to create the comments: > > > within contoller1_controller.rb I added > > ========= > > def new > > @comment = Comments.new > > > respond_to do |format| > > format.html > > format.xml { render :xml => @comment } > > end > > end > > ======== > > > views/controller1/new.haml contains > > ======== > > = render 'form' > > ======== > > > and _form.html.erb contains > > ======== > > <%= form_for(@comment) do |format| %> > > > <div class='commentForm'> > > <%= format.label :name %><br /> > > <%= format.text_field :name %><br /> > > > <%= format.label :content %><br /> > > <%= format.text_area :content %><br /> > > <div class='commentSend'> > > <%= format.submit %> > > </div> > > </div> > > > <% end %> > > ======= > > > I then added into routes.db the following lines: > > resource :comments > > map.connect '/controller1/new', :controller => > > 'controller1', :action => 'new' > > > Now, navigating to /controller1/new gives me this error: > > > undefined method `comments_index_path' > > > What am I missing? > > > If I change the form to "form_for(:Comments)", then '/controller1/new' > > renders, however, when I then add "@comments = Comments.all" into the > > index definition, and: > > - @comments.each do |comment| > > - comment.content > > into the index.haml file, no comments are actually displayed. So I > > assume the form is not actually sending anything to the database > > > Any tips on what I'm doing wrong would be greatly appreciated, > > > Thanks > > -- > Erol > Fornoleshttp://github.com/Erolhttp://twitter.com/erolfornoleshttp://ph.linkedin.com/in/erolfornoles -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

