我是rails的新手,所以非常感谢任何帮助和建议。
deadline
日期小于今天的日期,我正试图隐藏招聘广告(使用css)。谢谢
views / adverts / index.html.erb
<table>
<thead>
<tr>
<th>Title</th>
<th>Status</th>
<th>Content</th>
<th>Deadline</th>
</tr>
</thead>
<tbody>
<% @adverts.each do |advert| %>
<% if advert.deadline < Date.today %>
<div class="hide">
<tr>
<td><%= advert.title %></td>
<td><%= “expired” %></td>
<td><%= advert.content %></td>
<td><%= advert.deadline %></td>
</tr>
</div >
<% else %>
<div >
<tr>
<td><%= advert.title %></td>
<td><%= “active” %></td>
<td><%= advert.content %></td>
<td><%= advert.deadline %></td>
</tr>
</div >
<% end %>
<% end %>
</tbody>
</table>
application.css
.hide {
display:none
}
答案 0 :(得分:1)
不要将 tr 包裹在 div 中,只需将“.hide”类应用于相关的 tr 即可。 Divs不应该被用作桌子中的直接孩子!
<% @adverts.each do |advert| %>
<% if advert.deadline < Date.today %>
<tr class="hide">
<td><%= advert.title %></td>
<td><%= “expired” %></td>
<td><%= advert.content %></td>
<td><%= advert.deadline %></td>
</tr>
<% else %>
答案 1 :(得分:1)
供参考:
Date.today与Date.current
不同
- &GT;如果没有设置timeZone,Date.current
也会返回Date.today
返回当前时区的Today's Date
。我们可以通过更改时区来验证这一点。
如果您进行比较,则应始终使用Date.current
这是因为如果您所在的时区可能与UTC不同,并且您的时区未设置,那么您可能会遇到Date.today == Date.tomorrow
所以更优选
<% if advert.deadline < Date.current %>