我可以在視圖這樣對標籤添加到新聞報道:Rails視圖段依賴於udpated_at/created_at時間嗎?
<% if article.urgency == 'majorbreaking' && article.updated_at.today? %>
<span class="breaking">
…
它的作品了與「今天」的方塊,但我要如何做同樣的事情(說)「最近六小時「(在視圖中,我知道如何使用範圍和控制器來選擇文章,但是這是在選擇之後,僅用於視圖)。
謝謝。
我可以在視圖這樣對標籤添加到新聞報道:Rails視圖段依賴於udpated_at/created_at時間嗎?
<% if article.urgency == 'majorbreaking' && article.updated_at.today? %>
<span class="breaking">
…
它的作品了與「今天」的方塊,但我要如何做同樣的事情(說)「最近六小時「(在視圖中,我知道如何使用範圍和控制器來選擇文章,但是這是在選擇之後,僅用於視圖)。
謝謝。
因爲這是選擇後,我們就可以簡單地使用像這樣:
article.updated_at >= 6.hours.ago
簡單&漂亮
如果你想更換at_today
與過去6小時的使用時間:
<% if article.urgency == 'majorbreaking' && article.updated_at > (DateTime.now - 6.hours) %>
<span class="breaking">
…
退房時間傭工
http://api.rubyonrails.org/classes/DateTime.html http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html http://api.rubyonrails.org/classes/ActiveSupport/Testing/TimeHelpers.html
我將有一個讀那些再次。我之前嘗試過,但沒有點擊。謝謝。 –
你可以儘量減少硬編碼的邏輯,你的看法是處理和潛在乾涸你的代碼(如果事實上你要處理多個時間跨度)在您的文章模型創建的方法。例如:
class Article < ActiveRecord::Base
def recent?(hours_ago=24)
created_at >= hours_ago.hours.ago
end
end
然後在您的視圖:
在過去的一天之內:
<% if article.urgency == 'majorbreaking' && article.recent? %>
<span class="breaking">
在過去的6小時內:
<% if article.urgency == 'majorbreaking' && article.recent?(6) %>
<span class="breaking">
謝謝Hieu,這很有效。那是我遇到的一點麻煩。 –