問題タブ [arel]

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.

0 投票する
6 に答える
83767 参照

ruby-on-rails - Rails 3でActiveRecordアソシエーションをどのようにスコープしますか?

Rails3プロジェクトがあります。Rails 3には、Arelと、あるスコープを再利用して別のスコープを構築する機能が搭載されています。関係を定義するときにスコープを使用する方法があるかどうか疑問に思っています(たとえば、「has_many」)。

パーミッション列のあるレコードがあります。レコード(リレーションシップを介してアクセスされるレコードも含む)がフィルター処理されるように、アクセス許可列を考慮に入れるdefault_scopeを作成したいと思います。

現在、Rails 3では、default_scope(私が見つけたパッチを含む)は、proc(後期変数バインディングに必要)を渡すための実行可能な手段を提供していません。名前付きスコープを渡すことができるhas_manyを定義することは可能ですか?

名前付きスコープを再利用するというアイデアは、次のようになります。

または、関係でその名前付きスコープを暗黙的にコーディングすると、次のようになります。

実行時バインディングを使用してdefault_scopeを適用しようとしています。私はArelアプローチ(ある場合)を使用したいと思いますが、実行可能なオプションを使用します。

現在のユーザーを参照しているため、次のような最後の時点で評価されていない条件に依存することはできません。

0 投票する
1 に答える
2349 参照

ruby-on-rails - ARel の #as メソッドをどのように使用しますか?

次のようなプロジェクションを作成する場合:

:snark という名前の結果列を取得するにはどうすればよいですか?

0 投票する
2 に答える
2407 参照

ruby-on-rails - Arel (Rails 3) との Eager-loading アソシエーション カウント

簡単なタスク: 記事に多くのコメントがある場合、記事の長いリストに各記事のコメント数を表示できます。このデータを Arel でプリロードする方法を考えています。

READMEファイルの「Complex Aggregations」セクションでは、そのような状況について説明しているようですが、サンプル コードが正確に提供されているわけではなく、結合された 1 つのクエリではなく 2 つのクエリで実行する方法も提供されていません。パフォーマンス。

以下を考えると:

それぞれのコメント数を設定した記事をプリロードするにはどうすればよいですか?

0 投票する
4 に答える
16405 参照

ruby-on-rails - Rails 3.0 の Arel とは正確には何ですか?

これが ActiveRecord の代替であり、クエリの代わりにオブジェクトを使用することを理解しています。

しかし...

なぜこれが良いのですか?

オブジェクト/クエリの作成が「より簡単」になりますか?

より効率的な SQL クエリにつながるでしょうか?

すべての主要な DB と互換性がありますか? -そうなると思います。

ストアドプロシージャを使用する方が簡単/難しいですか?

0 投票する
5 に答える
15535 参照

ruby-on-rails - Arel のネストされたクエリ

Rails 3 の Arel や Active Record で SELECT クエリをネストして、次の SQL ステートメントを生成しようとしています。

サブクエリのエイリアスは、次のようにして作成できます

しかし、それを親クエリに渡す方法に行き詰まっています(#to_sqlかなり醜いように聞こえる の呼び出しを除いて)。

上記を達成するために、Arel (または Active Record) のサブクエリとして SELECT ステートメントをどのように使用しますか? ネストされたクエリを使用しない、このクエリを実行するまったく別の方法があるのではないでしょうか?

0 投票する
3 に答える
1956 参照

ruby-on-rails - Railsクエリ言語を使用した複雑なクエリ

統計目的で使用されるクエリがあります。特定の回数ログインしたユーザーの数を分類します。ユーザーhas_manyのインストールとインストールにはlogin_countがあります。

findこれと同じ情報を取得するためのエレガントなActiveRecordスタイルはありますか?理想的には、ログインとユーザーのハッシュコレクションとして:{ 2=>3, 6=>7, ...

SQLを直接使用できることは知っていますが、Rails3でこれをどのように解決できるか知りたいと思いました。

0 投票する
4 に答える
1347 参照

ruby-on-rails - Rails3とActiveRelationで見つかります

Rails 3の新しいアレルエンジンを理解しようとしていますが、質問があります。

ユーザーとタスクの2つのモデルがあります

これが関係を暗示する私のルートです:

これが私のタスクコントローラーです。

問題は、新しいアクションを呼び出そうとすると、次のエラーが発生することです。

私の問題は新しいアレルエンジンにあると確信していますが、私が間違っていることを誰かが理解していますか?

申し訳ありませんが、これが私のschema.dbファイルです。

0 投票する
2 に答える
1355 参照

activerecord - rails:多くのテーブルをトラバースするアクティブリレーションスコープを構築するにはどうすればよいですか?

私はこれらのテーブルと関係を持っています:

所属するプロジェクトやタスクに関係なく、現在のすべてのユーザーアクションを選択できるスコープを構築したいと思います。

ありがとう

0 投票する
1 に答える
749 参照

ruby-on-rails-3 - Rails3:関係代数を使用して、NOTやOUTERJOINなどのSQL構造を置き換える方法

投稿とコメントの2つのモデルがあります。特定のタグが付いたコメントのないすべての投稿を取得する必要があります。関係代数( arel )などの新しいRails3機能を使用してこれを行うにはどうすればよいですか。

SQLソリューションは次のようになります。

0 投票する
3 に答える
3906 参照

ruby-on-rails - Arel: 複数の条件を OR できれいに結合する方法は?

私の Rails アプリでは、配列をループ処理して、OR で結合する必要がある条件のリストを作成します。以下は、私が現在行っている基本的な流れです。

明らかに美しくはありませんが、私はまだ Arel の使い方を完全には知りません。動的に生成された一連の条件を OR 結合するより良い方法はありますか?