問題タブ [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 投票する
2 に答える
2336 参照

ruby-on-rails - アレルアグリゲーション、カウント、アウタージョイン?

私はFactモデルを持っていhas_many :votesます。投票にもuser_idフィールドがあります。モデルのスコープで次のことを表現したいと思います。Xに等しいFact0票のすべてのファクトを教えてください。user_id

私はこれにどのように取り組むかを理解するのに十分なほどアレルに精通していません。アイデア?

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

activerecord - アソシエーションのActiveRecord::Relationオブジェクトを取得することは可能ですか?

  1. によって定義されhas_manybelongs_to利用されるような関連付け方法はありActiveRecord::Relationますか?

  2. もしそうなら、ActiveRecord::Relation使用されているオブジェクトを取得することは可能ですか?

クエリインターフェイスを使用してクエリを作成する場合、Rails3はオブジェクトとバックグラウンドのオブジェクトActiveRecord::Relationを多用していることは誰もが知っています。クエリインターフェイスの、などのメソッドを使用するたびに、オブジェクトが返されます。ただし、モデルの関連付けメソッドを呼び出す場合はそうではないようです。代わりに、クエリがすぐに実行され、関連付けられたモデルのインスタンスまたはインスタンスの配列が返されます。Arel::RelationselectjoinsActiveRecord::Relation

次のモデルを検討してください。

post.rb

user.rb

例:

を呼び出すu.postsと、のインスタンスではなく、投稿の配列が返されますActiveRecord::Relationアソシエーションで使用されているActiveRecord::Relationものを取得できるのか、使用されているのか、おそらくを使用して取得できるのか疑問に思います。Arel::Table

が必要な理由ActiveRecord::Relationは明らかです。これは、既存の関連付けを連鎖させて、別の目的に合わせてクエリを操作したいためです。

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

ruby-on-rails - has_manyで定義された:orderをオーバーライドする方法

私は持っています

名前DESCでソートされたすべての本を照会しようとしています

しかし、結果は

結果は、ソートされたASCという名前で返されます

アソシエーションの元の順序を削除したり、オーバーライドしたりする方法はありますか?または、リレーションで順序を指定するのは悪い考えですか?

Rails3.0.3を使用する

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

activerecord - ARelクエリが親クラスではなくActiveRecord::Relationshipクラスとして返されるのはなぜですか?

私はクラスを持っています:

Railsコンソールで次のクエリを実行すると:

クラス属性にアクセスしようとするとメソッドエラーが発生しないため、これは重要です。

私は何が間違っているのですか?

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

ruby-on-rails-3 - 自己参照表に対する AREL ステートメントの作成方法

私はかなりの数の AREL ステートメントを書いてきましたが、これについては自分自身を縛っています。これが私の状況です:

ある値に一致する識別子を持つ子製品を持つすべての製品を取得したいと考えています。

私はこれで自分自身をプレッツェルにひねりました。簡単に思えますが、私はあまりにも長い間見てきました. どんな助けにも感謝します!

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

ruby-on-rails - Rails 3 および Acl9: 特定のオブジェクト/ロールのすべてのサブジェクトを見つける

私は承認のためにacl9rails3を使用しています。私はARelとレールのクエリ方法を理解しようとしています。

Companyに属するUserがあり、そのユーザーはCompanyに対して特定の役割 (acl9 が配管を提供します) を持っています。特定の役割を持つ特定の会社からすべてのユーザーを取得するにはどうすればよいですか? アプリケーションで結果をフィルタリングするのではなく、 DB で結果をフィルタリングしたい。

私はこのようなものが欲しい:

rails3 には sql api があることは知っていますが、私は Java/Grails の出身であり、使用する ORM のほとんどにはいくつかの ORM api があります (datamapper はこのように機能すると思いますが、私はプレーンな rails3 を使用しています)。

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

sql - SQL 集計カウント = 0

Rails 3 アプリに次のモデルがあり、要件を選択します。

class Item < AR
has_many :holdings

class Holding < AR
belongs_to :item

Holding モデルには「アクティブな」ブール値があります。

「アクティブな」所蔵が 0 の各アイテムを見つけたい (関連付けられている所蔵はいくつでもある可能性があります)。かなりの数の組み合わせを試しました。

SELECT * from items JOIN
(SELECT holdings.item_id, count(ifnull(item_id,0)) AS hcount FROM holdings
WHERE holdings.active = "t"
GROUP BY holdings.item_id
HAVING hcount = 0)
ON items.id = holdings.item_id

ただし、これは 0 より大きいカウントのみを返します。

誰かが私を正しい方向に向けることができますか?

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

ruby-on-rails - NOT NIL を使用した Rails where 条件

Rails 3 スタイルを使用して、次の反対をどのように記述しますか。

IDがnilでない場所を見つけたい。私は試した:

しかし、それは戻ります:

それは間違いなく私が必要としているものではなく、ほとんど ARel のバグのようです。

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

ruby-on-rails - rails2 から rails3 へのアップグレードの問題

アプリケーションを Rails 2.3.5 から Rails 3.0.3 にアップグレードしようとしています。

モデル:
Project.rb

ProjectRole.rb

project_roles テーブルの列は user_id、project_id、name
次のエラーで苦労しています。提案してください。

ありがとう。

問題は make_project_owner コールバックにあります。create_calendar_for_project は問題なく動作します。

make_project_owner を次のように変更しても、同じ問題が発生します。

Rails のダウングレードを試みました:
rails 3.0.2 -> 同じ問題がある
rails 3.0.1 -> 異なるエラーがあります

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

ruby-on-rails - Rails3結合からすべての列を返す

モデルに関連付けられている列だけでなく、2つのテーブルを結合してすべての列を返そうとしています。

私はそのようなものを持っています:

SQLは問題ないように見えますが、それでも、コメントのみが返され、それに関連付けられているユーザー情報は返されません。

*だけでなく、どうすれば取得できますcomments.*か?