Thanks, that gets the comment form loading. I added:
def create @comment = Comment.new(params[:comments]) respond_to do |format| if @comment.save format.html { redirect_to('/', :notice => 'comment posted') } format.xml { render :xml => @comment, :status => :created, :location => @comment } else format.html { render :action => "new" } format.xml { render :xml => @comment.errors, :status => :unprocessable_entity } end end end to my controller1_controller.rb file, and now when I click the submit button, I get the following error "uninitialized constant CommentsController" Despite the redirect_to('/', ...) the page is redirecting to /comments On Oct 14, 6:26 am, Erol Fornoles <erol.forno...@gmail.com> wrote: > Hmmm wait, I just noticed something. Could you rename your Comments > model to Comment (from plural to singular). Don't forget to rename the > model file (comments.rb to comment.rb) > > On 10/14/10 8:52 PM, aperture science wrote: > > > > > 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 <erol.forno...@gmail.com> 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.linked... > > -- > 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 rubyonrails-t...@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.