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.

Reply via email to