PG::syntaxError for rails application[英] PG::SyntaxError for rails application

本文是小编为大家收集整理的关于PG::syntaxError for rails application的处理方法,想解了PG::syntaxError for rails application的问题怎么解决?PG::syntaxError for rails application问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

在我的索引控制器中,我有一个查询来查找所有过去发生的事件,其中"事件发生的日期是什么时候

@expired = Location.where('when <= ?', Date.today)

这是我的 index.html.erb 视图.

<% @expired.each do |location| %>
               <tr>
                <td>
                  <%= location.city %>                                                                                                                                                                                  
                </td>
                <td><%= location.when %>
                </td>
                <td><%= location.venue %></td>
                <td>
                  <%= location.start_time %> to <%= location.end_time %>
                </td>
                <td>General</td>
                <td><a href="http://smithridgehc.co.uk/" target="_blank">Smithridge Healthcare</a></td>
              </tr>
<% end %> 

当我运行服务器时,出现以下错误:

PG::SyntaxError: ERROR:  syntax error at or near "when"
LINE 1: SELECT "locations".* FROM "locations" WHERE (when <= '2015-0...

可能是因为日期格式错误?

推荐答案

when 是 Postgre 的保留字(参见 doc).将其用作列名时,应在 SQL 中使用 "" 对其进行转义:

@expired = Location.where('"when" <= ?', Date.today)

本文地址:https://www.itbaoku.cn/post/1764206.html