Quick idea:

<form method="post" action="/stuff">
  <div id="step-1">
    bunch of fields
  </div>
  <div id="step-2">
    more fields
  </div>
  <div id="step-3">
    final set of fields
  </div>
</form>

1) step-1 is visible by default.
2) step-2 gets shown after the user is done with step-1. Then from
step-2 to step-3, same thing.
3) make sure you're validating fields with Javascript as they get
filled. Yeah, you'll have to mirror validations on the client side,
and that could potentially suck, but I'm told there's plugins around
for that if you don't wanna roll your own.

And voila. One single POST, which is very RESTful, for the Rails
community variant of REST.

Oh, and I'm assuming your customers are normal people who don't
disable Javascript *by default*.

ps: intentionally not HTML5'ed.



On Tue, Mar 16, 2010 at 1:26 PM, Ben Hoskings <b...@hoskings.net> wrote:
> On 16/03/2010, at 1:16 PM, Cameron Barrie wrote:
>
>> You could also create the entry with a single POST, then display the 
>> confirmation page, but then PUT(i.e. update) the entry with the confirmation 
>> flagged to true when the confirmation form is submitted.
>> That way it would follow the HTTP spec/Restful principles properly.
>>
>> At the end of the day setting confirmation is just editing an existing 
>> record.
>
> Yep, immediate creation with confirmation as an update is (1) in my list. The 
> actual create/update part of the process is fine; I said it sucks because of 
> everything else it entails.
>
> Every other interaction with the record has to check for confirmation. 
> Presumably the confirmation stage is there so that records can't be involved 
> in other momentous actions until after they're confirmed, so all those 
> actions can't really reference that resource anymore, only a "confirmed" 
> scope on it. I guess you could use a default scope though.
>
> —ben_h
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Ruby or Rails Oceania" group.
> To post to this group, send email to rails-ocea...@googlegroups.com.
> To unsubscribe from this group, send email to 
> rails-oceania+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/rails-oceania?hl=en.
>
>



-- 
http://crazyhollywood.org

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
or Rails Oceania" group.
To post to this group, send email to rails-ocea...@googlegroups.com.
To unsubscribe from this group, send email to 
rails-oceania+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rails-oceania?hl=en.

Reply via email to