2016-08-03 47 views
0

我希望能夠將對象值傳遞到span元素的標題,但是當我在懸停時使用下面的代碼時,會顯示#{campaign.status}而不是Aprroved或Rejected as是我的意圖。將rails對象值傳入span標題

%td.status-data= campaign.status == "Approved" ? '<span title="#{campaign.status}" class="glyphicon glyphicon-ok green center"></span>'.html_safe : campaign.status == "Rejected" ? '<span title="#{campaign.status}" class="glyphicon glyphicon-remove red center"></span>'.html_safe : campaign.status 
+0

我想,如果你做你的代碼可以通過刪除視圖中的三元運算符來讀取,並使用if-else,那麼你自己就可以找到答案。 ;) – uday

+0

我有衝突的報告。有些人提出三元運算符,因爲它們減少了代碼的大小,使得整個文檔更具可讀性,而其他人已經採取了你的立場。通過刪除三元運算符,它是如何影響span元素中包含的? – EamonnMcElroy

回答

0

看來你是用haml作爲意見,所以它應該像下面那樣。

%td.status-data 
    - if campaign.status == "Approved" 
    %span.glyphicon.glyphicon-ok.green.center{title: "#{campaign.status}"} 
    - else 
    %span.glyphicon.glyphicon-remove.red.center{title: "#{campaign.status}"} 

注:確保您的縮進2空間haml視圖

,或者你有在簡單html.erb使用,它就會像下面

<td class="status-data"> 
    <% if campaign.status == "Approved"%> 
    <span title="#{campaign.status}" class="glyphicon glyphicon-ok green center"></span> 
    <%else%> 
    <span title="#{campaign.status}" class="glyphicon glyphicon-remove red center"></span> 
    <%end%> 
</td> 
+0

爲什麼我的代碼無法正常工作?是由於我使用三元操作符? – EamonnMcElroy

+0

在'三元運算符'中使用'syntax'錯誤使用 – hgsongra

+0

通常三元組看起來像'condition? true:false',但已經完成了'condition? true:false:別的東西',所以在'something else'部分對於三元組無效之後 – hgsongra