1
我有一個的link_to消息條件句
<%= link_to "Messages (#{Messages.count})", messages_path %>
但如果計數爲0,我想取出(0)。
如何在link_to內加入'If條件'?
我有一個的link_to消息條件句
<%= link_to "Messages (#{Messages.count})", messages_path %>
但如果計數爲0,我想取出(0)。
如何在link_to內加入'If條件'?
您有幾種選擇,但是這一次應該在這種情況下工作:
link_to "Messages #{Messages.count > 0 ? '(%d)' : ''}" % Messages.count, messages_path
對於更復雜的邏輯比這你想要做一個輔助方法:
link_to label_with_optional_counter("Messages", Messages.count), messages_path
你在適當的輔助模塊中定義該方法:
def label_with_optional_counter(label, count)
"%s #{count > 0 ? '(%d)' : ''}" % [ label, count ]
end
horray!謝謝! –
調用的%符號是什麼? –
通常''''表示* modulo *,因爲'15%10'等於'5',但在這種情況下'String#%'實際上是使用['sprintf'](http:// apidock)的更簡潔的方式。 COM /紅寶石/核心/ sprintf的)。這種事情在Python中的工作方式也幾乎完全相同。 – tadman