2016-11-30 78 views
0

我想有一個條件類的方法幫助如何在方法助手中創建條件類?

product_helper.rb

def product_icon 
    ... 
    elsif product.sent? 
    '<div class="green-text <%= 'middle' if current_action?(controller: 'products', action: 'index')" %> ><i class="fa fa-envelope-o" aria-hidden="true"></i></div>'.html_safe 
end 

但我得到這個錯誤:

syntax error, unexpected keyword_class, expecting keyword_end 
'<div <%= 'class="middle if current_acti... 
       ^

回答

0

你是在幫助,所以你不能使用<%= ... %>但需要使用#{....}

你的幫手應該返回這個:

return "<div class='green-text <%= 'middle' if current_action?(controller: 'products', action: 'index')'%>><i class='fa fa-envelope-o' aria-hidden='true'></i></div>".html_safe 
+0

謝謝,我完全忘記了這個細節!但是在視圖中不會將其解釋爲html,即使使用'#{...}',你知道爲什麼嗎?即使使用'.html_safe'也可以使用 – Orsay

+0

? – Fallenhero

+0

是的,即使是.html_safe。這是確切的視圖渲染:

Orsay