問題タブ [active-relation]

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 投票する
1 に答える
383 参照

ruby-on-rails - 2 つの ActiveRecord::Relation を組み合わせて、OR 条件でアクティブな関係を形成する方法は?

このリンクは素晴らしいですが、または条件の下で 2 つのアクティブなリレーションを組み合わせた後に active_relation を取得するという問題には対処していません。他のリンクもありますが
、上記の質問に答えるものはありません。andingメソッドは機能し、アクティブな関係を提供しますが、 2つの状態mergeへの道を見つけるのに私の苦境。or私の問題を解明するために、アクティブな関係を出力しないクエリを個別に実行して追加するのではなく、1 つまたは2 つの異なるクエリを作成する必要があるとします。例えば:-

今、私はこれをしたくありません

これを行うことは問題ではありませんが、さらにアクティブなレコードクエリを実行できるように、結果をアクティブな関係にしたいと思います。

任意のアイデア...または私の問題を回避する方が良いですか??

改訂:-

私はプロフィールを見ていましたが、この質問は非常に重要な質問であることが判明したとしても、コメントではなく、いかなる活動もしていないことがわかりました. マージメソッドを使用した2番目のリンクに示されているように、実行は非常に簡単です、そのようなメソッドは存在しないか、なぜですか??? Railsコミュニティのプロがこの方法を提供するべきではありませんか??? AR

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

ruby-on-rails - HABTM アソシエーションの属性によるモデルのクエリ

User と Conversation の 2 つのモデルの間に HABTM 関連付けがあります。ログインしているユーザーの会話 ( current_user.conversations) をクエリして、別のユーザーの ID を渡し、両方のユーザーが共有する会話があればそれを返すようにしたいと考えています。(追加の特典は、クエリが存在しない場合に作成することです。)

@user.conversationsアソシエーションは正常に機能しているため、や などのインスタンス変数を介して関連オブジェクトにアクセスできます。その@conversation.usersため、長い道のりを進んで各会話オブジェクトをループし、それぞれのユーザー アソシエーションを検索できます...しかし、効率的なこのクエリを構築する方法。私ができるようになりたいのは、のようなcurrent_user.conversations.where(conversation.users.exists?(id: @user_id))ものですConversation.find(users: {id: @user_id AND current_user.id})

これには明らかな答えがあると思います。ここで同様の質問を探しましたが、見つかりませんでした。Rails API のドキュメントに目を通した後、私が探しているソリューションには.includes()何らかの方法が含まれていると思いますが、それを機能させることはできません。

何かアドバイス?ありがとう。

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

sql - Rails: 親のアクティブなリレーションに関連付けられたすべての has_many オブジェクトを取得する

基本的な質問だと思われるものがあります。私のrailsアプリでは、 Oneuserには多数の がありscoresます。ユーザーのアクティブな関係のすべてのスコアを取得する方法はありますか? (明らかに) user.scores を実行できますが、 users がユーザーのグループである場合は、users.scores. これは明らかに正しくありません。