我的post_controller有索引方法,如下所示:
def index
@posts = Post.paginate(:page => params[:page], :per_page => 3)
end
并在app / views / posts / index.html.erb中我有:
.
.
.
<table>
<tr>
<th>User</th>
<th>Post</th>
<th>Date</th>
<th colspan="3"></th>
</tr>
<% @posts.each do |post| %>
<tr>
<td><%= post.user.id %></td>
<td><%= post.text %></td>
<td><%= post.created_at %></td>
<td><%= link_to 'Show', post_path(post) %></td>
<% if can? :update, post %>
<td><%= link_to 'Edit', edit_post_path(post) %></td>
<% end %>
<% if can? :destroy, post %>
<td><%= link_to 'Destroy', post_path(post),
method: :delete,
data: { confirm: 'Are you sure?' } %></td>
<% end %>
</tr>
<% end %>
<%= will_paginate @posts %>
</table>
所以我希望在此视图中有一个字段,用户可以在其中输入日期,视图显示在该日期之后创建的所有帖子。 (帖子日期&gt; date_by_user)。我试过&#34;其中&#34;方法,但我不能。我不想使用任何宝石。那么,最好和最简单的方法是什么?
答案 0 :(得分:0)
您可以使用索引方法搜索记录,如下所示。
date_to_search = Date.parse('2015/1/1')
Post.where(
'created_at>=? and created_at<=?',
date_to_search.beginning_of_day
)
created_at在rails中保存为UTC,因此您需要指定日期时间。不仅是日期,还能在当地时间获得正确的数据。