Trent Scott
Trent Scott

Reputation: 2028

Can you get ERB to properly indent when rendered?

I have several partials that I'm including in my Rails application.html.erb file, but the resulting HTML doesn't preserve my indenting (formatting). I've been told that the first line gets rendered with the same indentation-level as the call to _partial.html.erb, but all subsequent lines in the partial just get left-aligned.

This results in code like (see my comments for positioning):

<body>
    <div id="outer">

        <div class="contentwidth main">
            <div class="logo"> <<<<< Shouldn't be this far to the right
    <h1><a href="index.html">minimal.</a></h1>
</div><!-- end logo -->     <<<<<<< Shouldn't be way over to the left

Is there any way to fix this/format my included partials better using ERB? Or do I need to use HAML?

Upvotes: 8

Views: 2862

Answers (2)

Don Roby
Don Roby

Reputation: 41137

The doc on filters contains an example of using an after filter to compress the html before sending it to the browser.

Doing something similar, but using something like Tidy to reformat and replace the html where this example does a compress might do the trick.

Upvotes: 2

smathy
smathy

Reputation: 27961

Not the answer you want - but - no, there's nothing built into Rails to auto-indent ERB.

Upvotes: 4

Related Questions