Ruby on Rails Sunday, March 24, 2013

On 24 March 2013 12:10, Ryo Saeba <lists@ruby-forum.com> 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@googlegroups.com.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

--
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@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment