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
-~----------~----~----~----~------~----~------~--~---

Reply via email to