Re: Why is Object nil?

Colin Law
2013-03-24T12:21:42Z

On 24 March 2013 12:10, Ryo Saeba
<lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org>
wrote:
> I''m receiving the
>
> "Called id for nil, which would mistakenly be 4 -- if you really
wanted
> the id of nil, use object_id"
>
> Error Message, when my controller tries to get an object''s id.
>
> In my page users can register, login, create new game entries, rate them
> and leave a review.
>
> the create method in the ratings controller is the exact same as in the
> review controller. (with different names of course)
>
> def create
>         @game = Game.find_by_id(params[:game_id])
>         @rating = Rating.new(params[:rating])
>         @rating.game_id = @game.id
>         @rating.user_id = current_user.id
> end
>
> Giving a rating works perfectly, but assigning the game.id to
> @review.game_id causes me the error...

The error is saying that @game is nil.  Look in development.log when
the method is called to see what params[:game_id] is set to.   If you
still can''t see it then put some print statements in the method to
print the value of params[:game_id] and to show whether @game is nil.

Also have a look at the Rails Guide on debugging which will show you
techniques that you can use to debug your code.

Colin

>
> but my relations are set, what can possibly be wrong? why is the game
> object not nil when trying to create a rating, but nil when I want to
> create a review?
>
> --
> 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 unsubscribe from this group and stop receiving emails from it, send an
email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> For more options, visit https://groups.google.com/groups/opt_out.
>
>