問題タブ [squeel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - squeel を使用して配列の結果を結合する方法
私はsqueel をインストールしており、次のことをしたいと思っています:
ディスペンサーをジオコーディングすることもできますが、可能であれば、アクティブ レコード、またはアクティブ レコード + スクイールを使用して、上記のオプションを一般的に好みます。Rails でこれを実現する簡単な方法があるはずです。
ruby-on-rails - 関連付け名を動的に生成する方法は?
Ruby on Rails 3.2.2 と Squeel gem を使用しています。次のステートメントがあり、 Mixin モジュールmy_squeel_query
でメソッドをリファクタリングしようとしています(多くのモデルで使用されているため)。
私の問題は、Mixin モジュールで動的な名前を生成してステートメントをリファクタリングできないことです。つまり、次のようなものを使用して、関連する名前を動的に生成できます。article_comment_associations
model_as_like_article_comment_associations
String
"#{self.class.to_s.singularize}_comment_associations"
しかし、私の場合ではないので、名前を「構築」しmy_squeel_query
てモデル間で「共有」することはできません。
Squeel gem に関連する関連付け名を動的に生成するにはどうすればよいですか? 別の方法でリファクタリングを検討する必要がありますか? 何についてアドバイスしますか?
ruby-on-rails - Squeelステートメントで動的属性/列を使用する方法は?
以前の号では、次のコードが期待どおりに機能しているように見えることになりました。
変数article_id
に対して行われたのと同じくらい動的なステートメントを作成することは可能ですか?table_name
つまり、次のようなものを作りたいと思います。
mysql - Railsが参加していいね?
Railsで結合を使用して検索フィールドの情報ベースを取得しようとしていますが、適切な構文が見つからないようです。2つのテーブルの節約があり、製品と節約は製品の節約です。私が欲しいのは、この作品が見つけた製品の名前に基づいて貯蓄を見つけることです:Saving.all(:joins =>:product、:conditions => {:products => {:title=>'タイトル名' }})TitleNameという名前の製品に対応する保存を取得します。
では、これを変更して、製品タイトルにparams [:title]が含まれている節約を見つけるにはどうすればよいですか?
ありがとう、
ruby-on-rails - squeel で同じテーブルに異なる結合を使用して複数のスコープをチェーンする
この問題は squeel 1.0.11 で発生しています。問題を送信しましたが、コミュニティが既に回答を持っている可能性があると思いました。
モデル内の同じテーブルに対して 2 つのリレーションシップがあり、2 つの異なるスコープの結合でこれら 2 つのリレーションシップを使用しています。
これらのスコープが一緒に変更されると、SQL が正しくなくなります。
SELECT "logs".* FROM "logs" INNER JOIN "users" ON "users"."id" = "logs"."created_by_id" INNER JOIN "users" "updated_bies_logs" ON "updated_bies_logs"."id" = "logs "."updated_by_id" WHERE (("users"."can_admin_logs" = 'f' OR "users"."can_admin_logs" IS NULL)) AND (("updated_bies_logs"."can_admin_logs" = 'f' OR "updated_bies_logs". 「can_admin_logs」は NULL です))
問題を解決するためにさまざまな変更を加えupdated_bies_logs
ましたが、解決策は見つかりませんでした。
1.0.11 のリリース ノートはこれに対処しているように見えましたが、gem を更新しましたが、問題はまだここにあります。
ruby-on-rails - Rails where ステートメントでの時間計算
whereステートメントで時間を計算しようとしています。寿命が過ぎたオファーを選択したいと思います。
エラーはスローされませんが、オブジェクトも返されません。squeel gemを使用しています。これに対する最善のアプローチは何ですか?
postgresql - SqueelリクエストとHeroku、Postgres:GROUPBYとORDERの使用中にエラーが発生しました
mysqlを使用してアプリケーションを開発していますが、Herokuを使用してデプロイしているため、PGを使用する必要があります。
次のステートメントに問題があります。
したがって、私のコンピューターでは機能しますが、herokuにデプロイすると、次の問題が発生します。
それを修正してherokuで動作させる方法が本当にわかりません。
要求に応じたGemfile:ソース'https://rubygems.org'
ruby-on-rails-3 - RailsとSqueelを使用したPostgreSQLでのリクエスト
以前の質問に基づいて新しい質問を作成するようにアドバイスされたので、ここにあります:
私のウェブサイトには製品のリストがあり、各ユーザーはこれらの製品に基づいて自分の貯蓄を作成できます。したがって、複数のユーザーが同じ製品に基づいて独自の節約を作成できます。したがって、1人のユーザーが貯蓄を作成するときに、彼が参照するuser_idとproduct_idを使用して貯蓄をデータベースに追加します。ここで、1つのページに、他のユーザー(current_userを除く)からのすべての節約を表示したいのですが、同じ製品に基づいて多くのユーザーが節約を作成できるので、これらを1回だけ表示したいと思います。製品XIは、一度だけ表示したいのですが、ありがとう
保存テーブルには次のフィールドがあります。
idproduct_iduser_id価格が保存されました
私がしたことは、この質問に投稿されたものです: Squeel request and Heroku、Postgres:Error using GROUP BY and ORDER
heroku(postgres)では正しく動作しません。RailsまたはSqueelのクエリを作成するのを誰かが手伝ってくれるなら、それは素晴らしい感謝です!
ruby-on-rails - ruby on railsの結合条件(squeelあり)
Squeel を使用して、結合されたテーブル間で属性を比較し、少し計算しようとしています。
クエリの例を次に示します。
Squeel から「TypeError: Squeel::Nodes::KeyPath を正確な数値に変換できません」というエラーが表示されます。
ここで私が間違っていることを知っている人はいますか?
ruby - ループ内のフィールド = 値 OR フィールド IS NULL の Squeel 構文
ループを使用して、squeel を使用して次の構文を再作成しようとしています。
私はこれまでに得ることができました:
ただし、問題はループで実行したいので、値が空の場合に条件を実行する必要がないことです (たとえば、imdb に値がない場合、その行を使用することさえありません)。
私はこれを持っています:
field IS NULL
しかし、それはSQLにビットを入れません。
Squeelで無理ならActiveRecordでできるかな?
最終的に、SQL でこれらのフィールドの条件を避ける方法を探しています。上で述べたように、フィールドが空の場合はまったくリストしませんが、値がある場合はすべてを実行する必要がありfield = value OR field IS NULL
ます。
どんな助けでも大歓迎です。
編集:
現時点で使用しようとしているコード全体は次のとおりです。
使用するかどうかに関係なく、 の後のすべて|
が無視されることに注意してください__send__(k)
。
詳細情報:
非常に奇妙なことの 1 つは、 以外のものを使用するk,v
と無視されることです。例えば:
「ボブ」は無視されます!OR
値 (v) は、ステートメントなしで SQL に入れられます。