if current_user.id = @game.user_id
@game = Game.find(params[:id])
Wait, what?
@game is initially null. So, you should first fetch the game we're talking
about.
@game = Game.find(params[:id])
Now, check if the game is indeed a valid game.
@game = Game.find(params[:id])
if @game
else
format.html { redirect_to root_url }
end
Check if the current user is the game's user. Note that as @Martin Aceto
pointed out, equal conditional operator is ==
@game = Game.find(params[:id])
if @game
if current_user.id == @game.user_id
format.html
else
format.html { redirect_to root_url }
end
else
format.html { redirect_to root_url }
end
Dheeraj Kumar
On Tuesday 7 February 2012 at 8:27 PM, Martin Aceto wrote:
> On Tue, Feb 7, 2012 at 11:39 AM, Christopher Jones <[email protected]
> (mailto:[email protected])> wrote:
> > Hi all,
> >
> > Just wondering about equality in rails for access to certain features
> > such as the following.
> >
> > I have a table for games and all users are able to click on the show
> > button to display the actual record. On the show page it has the options
> > to go back or edit. I want to do the following
> >
> > If the current_user equals the id associated with the game
> > Then allow the to edit
> > else
> > redirect the back to the product show page
> > end
> >
> > The only line I am not sure on how to do is to match current user with
> > the id associated user_id of the game.
> >
> > Any suggestions?
> >
> > what I have is the following but no luck:
> >
> > def edit
> > if current_user.id (http://current_user.id) = @game.user_id
> > @game = Game.find(params[:id])
> > else
> > format.html { redirect_to root_url }
> > end
> > end
> >
> > --
>
> Hi Christopher,
>
> remember, = is not equal, the correct is
>
> if current_user.id (http://current_user.id) == @game.user_id
>
> and look at this
>
> https://github.com/ryanb/cancan
>
> maybe help you.
>
> --
> Martin
> --
> 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 [email protected]
> (mailto:[email protected]).
> To unsubscribe from this group, send email to
> [email protected]
> (mailto:[email protected]).
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
--
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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.