在索引中打印时,在可视化数据库条目之间插入换行符

时间:2012-05-24 07:53:28

标签: ruby-on-rails ruby

我正在构建一个小应用程序,用户可以在文本框中输入内容,按Enter键,然后输入的字符串将记录在文本框下方的部分中。

此人输入的内容(名为Lessons)显示在页面底部,代码如下。

<% @allLessons.each do |lesson| %> 
    <tr>
        <td class="my-lessons">
            <b><%= lesson.content %></b> – <%= lesson.created_at.strftime("%b %d, %Y") %>
            <br />
        </td>
    </tr>
    <% end %>

我正在尝试编写一些查看每节课日期的内容,如果该日期大于前一天的日期,则会在输出的条目之间插入换行符。

我对如何做到这一点非常困惑。最好是在home.html.erb中完成所有嵌入式Ruby,还是使用pages controller来帮助这里?

2 个答案:

答案 0 :(得分:0)

要扩展上一个答案,lesson.created_at.strftime("%Y%m%d").to_i > previous_lesson_date.strftime("%Y%m%d).to_i之类的内容可以解决上述问题,假设lesson.created_atprevious_lesson_date都是正确的时间对象。

可能有更直接的解决方案可以更好地利用Time对象。

答案 1 :(得分:-1)

类似的东西:

<% @allLessons.each do |lesson| %>
  <% previous_lesson_date = lesson.created_at %>
    <tr>
        <td class="my-lessons">
            <b><%= lesson.content %></b> – <%= lesson.created_at.strftime("%b %d, %Y") %>
            <% if lesson.created_at > previous_lesson_date %>
              <br />
            <% end %>
        </td>
    </tr>
<% end %>

是字面答案吗?由于当前课程几乎总是有一个更大的日期(因为它将在几秒钟后创建)。我想你可能需要使用Rails日期函数来获得你真正想要的东西。