Can you get ERB to properly indent when rendered?
I have several partials that I'm including in my Rails application.html.erb f开发者_开发问答ile
, 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?
Not the answer you want - but - no, there's nothing built into Rails to auto-indent ERB.
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.
精彩评论