繁体   English   中英

使用.all函数的Phusion旅客错误-是否有向后兼容的方法?

[英]Phusion Passenger Error using .all function - is there a backwards compatible method?

我之前曾发布过一个问题( 有效地对同一模型执行多个查询 ),其他StackExchange用户友好地回答了这个问题,为我节省了很多处理时间,通过使用.all函数存储SQL查询的结果,从而避免了对模型的大量查询。

他们特别建议@chosenrecords = Everything.where('name LIKE ?', 'What I want').order('price ASC').all

这似乎工作得非常好,我在代码中的许多地方都使用了它,但是,将其上载到实时服务器后,对于每行包含.all功能的所有行,我都收到了Phusion Passenger的错误消息。

错误是syntax error, unexpected '.', expecting kEND .order('price ASC').all

以前,我曾尝试从托管我们网站的公司收集有关他们正在使用的铁路和乘客版本的信息,但没有成功。 过去,只要我使用Ruby 1.9.3 i386-mingw32 ,任何在本地工作的东西都可以在服务器上工作。

谁能建议我该如何解决此错误? 是否有较旧的功能可以执行等效操作并且可以在服务器上运行?

发现旧版本的Passenger对于跨越两行的代码似乎不那么健壮,基本上我进行了更改

@chosenrecords = Everything.where('name LIKE ?', 'What I want')
.order('price ASC').all

到以下,这是一个梦想

@chosenrecords = Everything.where('name LIKE ?', 'What I want').order('price ASC').all

希望其他人将从我的错误中受益!

实际上,这不是旅客问题,也不是“代码落在两行之间不够稳健”的问题。 问题是这样的:

第一个代码展示是非法的Ruby语法 如果您要像这样将a链接到#order,则必须确保第一行以点结尾。 否则,Ruby会认为第一行是单个完整的语句,而第二行也是单个完整的语句。 显然,Ruby语句不能以点开头,因此在您的第一个代码展览中,第二行引发语法错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM