Just a quick note.

The output is currently ugly and I don't have time to tweak it much
more. So, if anyone has a patch to implement it correctly, just send
it in and we'll fix it.

Otherwise, Nathan is a wiz with the Buffer object, so I'm sure he can
fix it in 20 seconds.

-hampton.

On Mar 14, 11:59 am, Hampton <[EMAIL PROTECTED]> wrote:
> This is something I cooked up today, because of a project I've been working 
> on.
>
> I'm always having to struggle a little bit to get my helpers
> generating decent xhtml. Helpers are the next big thing that we have
> to figure out as a community. That is, to answer the question, how can
> I build really compelling views with some nice programatic logic that
> is modularized into the helpers.
>
> Well, here is a step foreward. Its something like content_tag, except
> mixes in some Haml magic.
>
> I wanted to have this in my view.
>
> - info_table do
>   - row :price do
>     Price (in CAN dollars)
>   - row :name do
>     Name of the product
>
> The reason I'm using blocks is because I really wanted to be able to
> easily drop in programmatic things (like hidden fields, javascript
> bits, and etc) into the page without having to concern myself with
> doing it repeatedly. I don't know if this makes sense, but each row
> would actually automatically generate the form elements needed for
> that row. The block area just serves as a label-generator.
>
> Let's see how we'd implement this with open_tag
>
> def info_table(&block)
>   open_tag :table, &block
> end
>
> def row(named, &block)
>   open_tag :tr do
>     open_tag :td do
>       block.call
>     end
>     open_tag :td do
>       push_text form.text_field(named)
>       open_tag :div, :class => "errors" do
>         error_messages_on :project, named
>       end
>     end
>   end
> end
>
> So much automatic goodness built right in! And its not even ugly!
>
> Thoughts?
>
> -hampton.
>
> PS: open_tag most likely has a bevy of bugs, so please.... report
> away! I wrote it in 5 minutes.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Haml" 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/haml?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to