\ n nieuwe regel escape-sequentie in ERB

Ik weet niet zeker waarom "\ n \ n" geen twee regeleinden toevoegt in mijn code hieronder:

<%= (getparagraph(@geography, "geography")+"\n\n") if @geography != "Other" %> 

To clarify the method getparagraphs simply returns a paragraph of text. I'm trying to add two line breaks within the ruby code without having to use

Om het even welke ideeën? Alles wat ik heb gelezen, impliceert dat het zou moeten werken.

2

3 antwoord

Uw helper heeft "alinea" in zijn naam, dus misschien moet u het in een alinea plaatsen en CSS gebruiken om de juiste spatiëring rond de alinea toe te voegen:

<% if @geography != "Other" %>
    
<%= getparagraph(@geography, "geography") %>

<% end %>

You could always add a special class to the

if you need an extra spacing after this:

<% if @geography != "Other" %>
    
<%= getparagraph(@geography, "geography") %>

<% end %>

en dan in je CSS:

.geo-chunk {
    margin-bottom: 2em; /* Or whatever works */
}

And if this is to appear inside another

then you'd need to re-arrange the HTML a bit as you can't put a block element inside a

:

<div>
    <!-- The old 
content ... --> <% if @geography != "Other" %> <div class="geo-chunk"> <%= getparagraph(@geography, "geography") %> </div> <% end %> </div>
4
toegevoegd
@Eward: Cool, ik moest optie 2 een beetje bijstellen, ik herinner me dat je (legaal) geen blokelementen in een

kunt plaatsen maar dat heeft niets te maken met optie 1.

toegevoegd de auteur mu is too short, de bron
1; meer semantisch redelijk.
toegevoegd de auteur Dave Newton, de bron
Erg bedankt! Ik ging met optie 1. Ik dacht natuurlijk niet om de

of de -tag tussen de if en eindafschriften te plaatsen.

toegevoegd de auteur Edward Castaño, de bron

Je voert HTML uit; witruimte wordt bij het renderen grotendeels genegeerd.

Use
tags instead, and .html_safe.

3
toegevoegd

Zit dit binnen HTML? Als dat zo is, gebruik dan
. HTML negeert meerdere witruimtetekens, dus je zou een spatie of 50 nieuwe regels kunnen hebben en het resultaat zou hetzelfde zijn.

Another note: unless you're using XHTML (itself not a great idea), do not use self-closing tags such as
. The slash is invalid, so omit it.

1
toegevoegd
Eigenlijk, strikt genomen, is de schuine streep geldig, maar semantisch anders dan je zou verwachten. Zie stackoverflow.com/questions/3201870/… .
toegevoegd de auteur Marnen Laibow-Koser, de bron