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 = @game.user_id @game = Game.find(params[:id]) else format.html { redirect_to root_url } end end -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Tue, Feb 7, 2012 at 11:39 AM, Christopher Jones <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org>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 = @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 == @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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
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 <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org (mailto:lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org)> 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org (mailto:rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org). > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org (mailto:rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org). > 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Been working on it this afternoon guys and made a fair few tweaks and it has resulted in success. Thanks for all the help guys. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
You''re welcome :) Dheeraj Kumar On Wednesday 8 February 2012 at 1:04 AM, Christopher Jones wrote:> Been working on it this afternoon guys and made a fair few tweaks and it > has resulted in success. > > Thanks for all the help guys. > > -- > 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 (mailto:rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org). > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org (mailto:rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org). > 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.