undefined method user_id

Ken Lim
2009-02-21T17:46:05Z

Basically, Im trying to add comments to photos that other users have
uploaded. And Ive encountered an error:

NoMethodError in CommentsController#create
undefined method `user_id='' for #<Comment:0x4768cd0>

C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1857:in
`method_missing''
C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1672:in
`send''
C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1672:in
`attributes=''
C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1671:in
`each''
C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1671:in
`attributes=''
C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1505:in
`initialize_without_callbacks''
C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/callbacks.rb:225:in
`initialize''
#{RAILS_ROOT}/app/controllers/comments_controller.rb:8:in `new''
#{RAILS_ROOT}/app/controllers/comments_controller.rb:8:in `create''

This is my comments controller:

class CommentsController < ApplicationController
  before_filter :login_required

  def create
    @photo = Photo.find_by_user_id_and_id(params[:user_id],
                                                            params[:photo_id])

    @comment = Comment.new(:user_id => @logged_in_user.id,
                                            :body =>
params[:comment][:body])
    if @photo.comments << @comment
      flash[:notice] = ''Comment was successfully created.''
      redirect_to photos_path(:user_id => @photo.user,
                                        :photo_id => @photo)
    else
      render :controller => ''photos'', :action =>
''show'',
                  :user_id => @photo.user, :photo_id => @photo
    end
  end

  def destroy
    @photo = Photo.find_by_user_id_and_id(@logged_in_user.id,
                                                          params[:photo_id],
                                                          :include =>
:user)
    @comment = @photo.comments.find(params[:id])
    @comment.destroy

    redirect_to entry_path(:user_id => @photo.user.id,
                                    :id => @photo.id)
  end
end

It said that the user_id is undefined when creating a new comment. Any
kind soul can tell me how to solve?
--
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
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-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---