2013-06-24 10 views
5

Ich habe meinen HTML-Code mit Rails content_tag s umgeschrieben und jetzt möchte ich If-Anweisungen zu ihnen hinzufügen.Hinzufügen if-Anweisung zu Do-End-Block

Bevor ich hatte:

<% if ... %> 
    <div class='...'> 
    ... 
    </div> 
<% end %> 

Jetzt habe ich zwei Arten von diesem Block:

<%= content_tag(:div, ..., class: 'some_class') if ... %> 

Dies funktioniert ok. Aber wenn ich versuche, if-Anweisung zu do-end Block hinzuzufügen es fehlschlägt:

<%= content_tag(:div, class: 'some_class') if ... do %> 
    ... 
<% end %> 

Ich sehe dies, statt div Inhalt:

<div>{:class=>"some_class"}</div> 

Dank!

Antwort

12

Sie haben zu verwenden wie:

<%if ... %> 
    <%= content_tag(:div, class: 'some_class') do %> 
    ... 
    <% end %> 
<% end %> 

Oder mit if-Anweisung nach dem Block:

<%= content_tag(:div, class: 'some_class') do %> 
    ... 
<% end if .......%> 
4

<%= content_tag(:div, class: 'some_class') do %> 
    ... 
<% end if ... %> 
Versuchen