【发布时间】:2018-06-27 15:55:26
【问题描述】:
我正在做一个具有预订功能的网站。我想查看当前日期的预订清单。
我的控制器上有以下代码:
def today
@vlts = Vlt.where("strftime('%d/%m/%Y', date_time) = ?", Time.now.strftime('%d/%m/%Y'))
end
我认为有以下代码:
<% @vlts.each do |vlt| %>
<tr>
<td><%= vlt.date_time %></td>
<td><%= vlt.name %></td>
<td><%= vlt.phone_no %></td>
<td><%= vlt.no_ppl %></td>
<td><%= vlt.message %></td>
<td><%= link_to 'Edit', edit_vlt_path(vlt) %></td>
<td><%= link_to 'Destroy', vlt, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
但是当我在 http://localhost:3000/today 上运行我的页面时,我收到了以下错误,这让我摸不着头脑。
PG::UndefinedFunction: 错误: 函数 strftime(unknown, timestamp without time zone) 不存在 第 1 行:选择 "vlts".* FROM "vlts" WHERE (strftime('%d/%m/%Y', date... ^ 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。 : SELECT "vlts".* FROM "vlts" WHERE (strftime('%d/%m/%Y', date_time) = '18/01/2018')
感谢您的帮助。
【问题讨论】:
标签: ruby-on-rails rails-activerecord datetime-format