On Sun, Apr 27, 2008 at 7:28 PM, Nathan Weizenbaum <[EMAIL PROTECTED]> wrote:
>
>  There's not a great, general way to do this in Haml 1.8. For the first
>  example, you could do
>
>
>   - content_for :onload_scripts do
>     == $(#{highlighted_item.to_json}).effect('highlight');
>
>  Calling out to ERB is probably the best option for the second script.
>
>  However, in the master branch you can use filters with variable
>  interpolation, like so:
>
>
>   - content_for :onload_scripts do
>     :plain
>       $('#search_items').autocomplete(
>         #{url_for(:controller => '/items', :action => 'search').to_json},
>         { selectFirst: false, minChars: 2 });
>
>  Note that I'm calling to_json on the strings before putting them into
>  the document; that guarantees that they'll result in valid Javascript.
>
>  - Nathan

Thanks Nathan! i forgot about == operator! (i'm fucking noob, 2hours
ago i didn't know about haml :D)

For second example we can use both == and | operators and get a
reasonable way of doing that with haml.
- content_for :onload_scripts do
  == $('#search_items').autocomplete(' |
           #{url_for(:controller => '/items', :action =>
'search').to_json},  { |
           selectFirst: false,  |
           minChars: 2
  });

Though your way is also nice, thanks again!

>  Jesús wrote:
>  > Hi, i've just met Haml (and i love it!), but i'm having problems
>  > translating some erb views.
>  >
>  > i usually have (erb) code like this:
>  >
>  > <% content_for :onload_scripts do %>
>  >        $('#<%= highlighted_item %>').effect('highlight');
>  > <% end %>
>  >
>  > or
>  >
>  > <% content_for :onload_scripts do %>
>  >    $('#search_items').autocomplete(
>  >         '<%= url_for :controller => '/items',
>  >                           :action => 'search' %>', {
>  >         selectFirst: false,
>  >         minChars: 2
>  >    });
>  > <% end %>
>  >
>  > ie, to generate javascript with erb.
>  >
>  > How can i write code like this in haml that doesn't suck? i think that
>  > the only way to do this is with something respectively like:
>  >
>  > - content_for :onload_scripts do
>  >   $('
>  >   =  highlighted_item
>  >   ').effectt('highlight');
>  >
>  > - content_for :onload_scripts do
>  >   $('#search_items').autocomplete('
>  >   = url_for :controller => '/items', :action => 'search'
>  >   ', {selectFirst: false, minChars: 2});
>  >
>  > that's really ugly, don't you think? for now i'm using a
>  > = render :partial => 'an_erb_file'
>  > and putting all that stuff there, but that method sucks too :(
>  >
>  > >
>  >
>
>
>  >
>

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