Darren, a good design pattern that is useful for lots of models if
you're aiming for RESTfulness is to add a before_filter to your
controller. So, if I understood your question correctly:
class UsersController < ApplicationController
before_filter :retrieve_user
# Executed before every request if processed
def retrieve_user
@user = User.find(params[:id])
end
def confirm
if @user.full_name == params[:full_name]
head :ok
else
head :bad_request
end
end
end
Cheers, --Kip
Darren Jeacocke wrote:
> I've set up a route like this
>
> map.connect 'confirm/:id/:full_name/', :controller => "users", :action
> => "confirm"
>
> and I'm wondering what is the best way to verify in the confirm method.
>
> full_name created in the model and it's not in the database.
>
> 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]
> # 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 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 [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
-~----------~----~----~----~------~----~------~--~---