2013-06-24 69 views
5

我已經使用rails content_tag s重寫了我的html代碼,現在我想爲它們添加if語句。添加if聲明do-end塊

之前,我有:

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

現在我有2種類型此塊:

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

該工程確定。但是,當我嘗試的if語句添加到do-end塊失敗:

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

我看到這一點,而不是div內容:

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

謝謝!

回答

12

你必須使用這樣的:

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

或使用該塊之後的語句:

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

嘗試

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