如何围绕所有challenges-border
挑战设置Date.current
?
第一个例子的问题是边界是围绕每个挑战放置的,但我希望边界围绕Date.current
的所有挑战。
<% @challenges.each do |challenge| %>
<% if challenge.deadline == Date.current %>
<div class="challenges-border">
<%= challenge.deadline %>: <%= challenge.action %>
</div>
<% else %>
<%= challenge.deadline %>: <%= challenge.action %>
<% end %>
<% end %>
我收到错误deadline
未定义的方法
<% if @challenges.deadline == Date.current %>
<div class="challenges-border">
<% end %>
<% @challenges.each do |challenge| %>
<%= challenge.deadline %>: <%= challenge.action %>
<% end %>
<% if @challenges.deadline == Date.current %>
</div>
<% end %>
这不起作用,因为我希望通过截止日期按降序组织挑战,这意味着Date.current
挑战可能出现在列表的中间,而不是将它们全部列为@todays_challenges
at结束。
<% @challenges.each do |challenge| %>
<%= challenge.deadline %>: <%= challenge.action %>
<% end %>
<div class="challenges-border">
<% @todays_challenges.each do |challenge| %>
<%= challenge.deadline %>: <%= challenge.action %>
<% end %>
</div>
答案 0 :(得分:0)
我希望将边框放在Date.current
的所有挑战周围
<div class="challenges-border">
<% @challenges.current.each do |challenge| %>
<%= challenge.deadline %>: <%= challenge.action %>
<% end %>
</div>
<div>
<% @challenges.not_current.each do |challenge| %>
<%= challenge.deadline %>: <%= challenge.action %>
<% end %>
</div>
class Challenge < ActiveRecord::Base
scope :current, -> { where(deadline: Date.current) }
scope :not_current, -> { where.not(deadline: Date.current) }
end