rails3-jquery-autocomplete gemを使用して、フィールド(製品)をレール3アプリケーションのフォームに自動完成します。ユーザーは製品名を入力するか、製品コードを入力します。どちらも製品表の文字列です。 すべてが標準の500 Herokuのエラーでローカルに正常に動作しますが、Herokuの上のAjaxリクエストがクラッシュ:Rails Autocompleteはローカルでは動作しますが、おそらくMySQL/Postgreの問題ではありません
We're sorry, but something went wrong (500)
私はこれがpostgre/SQLの問題かもしれないと思う - 私は開発のために、ローカルのMySQL使用しますが、Herokuのはpostgre上で実行されますSQLデータベース、と私はAJAXオートコンプリートリクエストによってcallesを取得する機能で次のクエリをやっていることは:
:ローカルdef get_autocomplete_items(parameters)
items = Product.select("DISTINCT CONCAT_WS(' ', product_code, title, id) AS full_name, product_code, title, id").where(["CONCAT_WS(' ', product_code, title) LIKE ?", "%#{parameters[:term]}%"])
end
、これは私に一致するすべてのproduc_idsと名を含むJSON形式の配列を返します
[{"id":"9","label":"xt-pnt-dress_45 - Catherine Malandrino","value":"xt-pnt-dress_45 - Catherine Malandrino"}, ... ]
誰かがherokuまたは他のアイデアに準拠するようにそのクエリを変更する方法があれば、本当に感謝しています。どうも。
この詳細な回答をいただきありがとうございます - それだけでなく、トピックに関する多くの背景情報と、ベストプラクティスのためのヒント - スーパー! – tmaximini
私は、文字列のタイトルと商品コードを連結する仮想属性を作成すると、私はそれを再確認しました。 'full_name'を検索したいのですが、 'ActiveRecord :: StatementInvalid:Mysql :: Error:不明な列'の 'where句'にあります:SELECT 'products'。* FROM' products' WHERE(LOWER(full_name) )LIKE '%ib%') 'エラー。 – tmaximini
@frank:もう1つの方法は、検索可能な列を連結することです( 'before_save'コールバックがここで使用されます)。次に、そのファイルを検索するだけです。 –