【问题标题】:Hiding content when deadline date is less than today’s date – rails 4当截止日期小于今天的日期时隐藏内容 - rails 4
【发布时间】:2015-10-05 14:28:58
【问题描述】:

我是 Rails 新手,非常感谢任何帮助和建议。

  • 如果deadline 日期小于今天的日期,我正在尝试隐藏招聘广告(使用 css)。
  • 我的代码无法正常工作,因为广告没有被隐藏
  • 如果有人能给我建议,或者如果有更有效的编码方式,将不胜感激

谢谢

浏览量/广告/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>

应用程序.css

.hide {
 display:none
}

【问题讨论】:

  • 周围缺少语音引号"是不是隐藏错字?
  • 刚刚纠正了这一点 - 但仍然无法正常工作@japed
  • 如果您要隐藏这些广告,为什么需要在您的收藏中使用它们?您是否将它们显示在页面的其他位置?如果没有,您为什么不直接更改您的查询排除那些?如果您仍想使用“if”语句,那么您的“过期”广告不是今天的截止日期吗?如果是,那就是错误,您隐藏了过期日期为昨天或更早的广告。

标签: css ruby-on-rails ruby-on-rails-4


【解决方案1】:

不要用 div 包装 tr,只需将“.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 %>   

【讨论】:

    【解决方案2】:

    仅供参考:

    Date.today 与 Date.current 不同

    --> Date.current 也返回 Date.today 如果 timeZone 没有设置其他明智 返回当前时区的Today's Date。我们可以通过更改时区来验证这一点。

    如果您进行比较,您应该始终使用Date.current

    这是因为如果您所在的时区可能与 UTC 的日期不同,并且您的时区未设置,那么您可能会遇到Date.today == Date.tomorrow

    这样会更好

    <% if advert.deadline < Date.current %>    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-11
      • 1970-01-01
      • 2022-10-20
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多