Should have explained a little further, just in case.

> > This doesn't work because it doesn't parse one, then the other...
>
> > if @user = User.find(params[:id]) && @user.full_name ==
> > params[:full_name]

Ruby will check the predicated of an 'if' statement in the order you
type them
and will therefore work as you expect.  Except.....

A Model.find(id) will raise an exception if the id isn't found.  This
will, by default,
cause Rails to send your 404 page (not found) which is pretty cool
really.
Because you don't have to get fussed about worry about the case where
the id
is not found in your app logic.

Thats why the before_filter I suggested works too.  Your controller
action
code will only every get executed if the User.find(id) is successful
and you
just use the info retriieved.

Lastly, the pattern of /:controller/:id/:action is very common (and
how
RESTful resources work.  Which means your before filter is going to be
just
as useful for your CRUD actions as well.

Cheers, --Kip




> >   # cool
> > else
> >   # bad
> > end
>
> > I want to do it the nice way, it doesn't seem right to nest a whole heap
> > of if statements. If you can help me out it'd be awesome, cheers!
> > --
> > Posted viahttp://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 [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
-~----------~----~----~----~------~----~------~--~---

Reply via email to