On 15 July 2011 22:13, Jacob <[email protected]> wrote:
> This seems very simple, but I can't quite get it. Probably because I'm
> just starting out with RoR.
>
> My view has a slew of labels and text fields; many are "required":
>
> <%= f.text_field :screen_name %> <span class="required_field">Required
> field</span>
>
> (The "required_field" class turns the text red and smaller.) I'd like
> to not have everything between <span> and </span> sitting at the end
> of every required line. I'd like instead to use a variable:
>
> <% req = "<span class='required_field'>Required field</span>" %>
>
> And then have
> <%= f.text_field :screen_name %> <%= req %>

By default Rails will assume that req may contain malicious text (such
as some evil js for example) and will escape it so that the raw html
appears on the page.  Since you know that req is safe to output
directly you can either use <%= req.html_safe %> or <%= req = "<span
.... >".html_safe %>

On a separate point I would use a view helper method rather than
defining req inline however.

Colin

>
> Shorter and DRYer. But when I do that, I get my HTML printed to the
> screen, not interpreted.
>
> Help appreciated. Thanks!
> Jacob

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