0

私は以前に質問を投稿しました (同じモデルで複数のクエリを効率的に実行する) 仲間の 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

このエラーを修正する方法を教えてもらえますか? 同等の操作を行い、サーバー上で動作する古い機能はありますか?

4

2 に答える 2

0

古いバージョンの Passenger は、2 行にまたがるコードに対して堅牢性が低いように見えることを発見し、基本的に変更しました

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

以下に、それは夢のように動作します

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

うまくいけば、他の誰かが私のやり方の誤りから恩恵を受けるでしょう!

于 2013-09-15T17:43:48.240 に答える