モデルクラスメソッド内で現在取得されているレコードを指定します

ニール

現在ActiveRecord::Relationオブジェクトによって取得されているレコードを変更したいクラスメソッドがあります。しかし、クラスメソッドで現在のスコープを参照する方法がわかりません。selfそれをしません。

例:

class User < ActiveRecord::Base
  ...

  def self.modify_those_records
    #thought implicitly #to_a would be called on currently grabbed records but doesn't work
    temp_users_to_a = to_a
    ...
  end
end

私はそれを次のように使用します:

User.some_scope.modify_those_records

だからUser.some_scope私に戻ってActiveRecord::Relation、たくさんのUserレコードが含まれています。次に、そのクラスメソッド内のこれらのレコードを変更して、それらを返します。

問題は、クラスメソッド内で「そのレコードのグループ」を明示的に参照する方法がわからないことです。

MrYoshiji

あなたが使用することができますcurrent_scope

def self.modify_those_records
  current_scope.each do |user|
    user.do_something!
  end
end

管理者権限に基づいてユーザーを注文する場合は、ActiveRecordを使用することをお勧めします。

scope :order_admins_first, order('CASE WHEN is_admin = true THEN 0 ELSE 1 END, id')
User.some_scope.order_admins_first

このコードis_adminは、usersテーブルにブール列があることを意味します

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Rails:モデルのクラスメソッド内でコレクションを反復処理します

分類Dev

セルフメソッドを呼び出してフラスコ内のデータを取得するにはどうすればよいですか?

分類Dev

スレッドで実行されているクラスメソッドを停止します

分類Dev

与えられたデコレータでPythonクラスのすべてのメソッドを取得する方法

分類Dev

モックされたDbSetメソッドは、コントローラー内で呼び出されるとNotImplementedExceptionをスローします

分類Dev

モックされたメソッドは、例外をスローするのではなく、コレクションで例外をラップします

分類Dev

そのメソッドへの引数がコンパイル時にクラスパスにないクラスである場合、リフレクションを使用して宣言されたメソッドを取得する

分類Dev

クラス内でデコレータを宣言して、すでに装飾された継承されたメソッドを装飾するにはどうすればよいですか?

分類Dev

クラス内のプライベートメソッドを使用してPyTorchで保存されたモデルを逆シリアル化するにはどうすればよいですか?

分類Dev

含まれているメソッドの匿名内部クラス内からデータを返します

分類Dev

作成中のモジュールのクラスメソッドからPromiseが返されるのを待っていますが、それを取得しますが、コンテキストがおかしいです。どうすれば適切に待つことができますか?

分類Dev

テストされているクラスのパブリックメソッドをモックします

分類Dev

バイトコードで使用するJavassistを使用して、クラスで宣言されたフィールドのインデックスを取得します

分類Dev

fing []で指定されたメールボックスの迅速なメーラーアドレスからこのエラーを取得することは、RFC 2822、3.6.2に準拠していません。

分類Dev

メソッドがトランザクション内で実行されているかどうかに関係なく、自動コミットをオンまたはオフにしてデータソースを挿入する方法

分類Dev

ViewSetで「as_view」メソッドを使用してビューを取得するときにアクションデコレータのkwargsが渡されない

分類Dev

PHPUnit:モックされていないメソッドから呼び出されるクラス内の特定のメソッドをモックする方法

分類Dev

デコレータによってクラスで定義されているメソッドとプロパティを知ることは可能ですか?

分類Dev

プロパティのgetterメソッドで@XMLElementを使用してクラスレベルで指定されたJAXB @ XMLAccessorType(XMLAccessType.FIELD)をオーバーライドするにはどうすればよいですか?

分類Dev

指定された文字列内の文字の出現を見つけるために配列を作成しようとしています。クラスStringのメソッドlengthとcharAtの使用のみが許可されています

分類Dev

ネストされたifを使用して、モデル内のメソッドでnone値を取得するのはなぜですか?

分類Dev

MVC-モデルクラスに属するメソッドは「タイプとして使用されます」

分類Dev

パラメータがモデルではなくメソッド引数として直接定義されている場合、IHttpActionResultの結果はリクエスト本文パラメータのバインドに失敗します

分類Dev

モデルクラスメソッドでヘルパーメソッドを実行します

分類Dev

Laravelモデルがコントローラーメソッドでバインドされていません

分類Dev

JavaScript MVC:コントローラー内で呼び出されたモデルメソッドがudefined->を返しますが、なぜですか?

分類Dev

クラス内のメソッドとしてデコレータを定義する

分類Dev

Odoo9のORMAPIのsearch()メソッドを使用して、レコードの作成日に従ってモデルの最新のレコードを取得するにはどうすればよいですか?

分類Dev

Ninjectを使用するときに汎用のGetメソッドをモックし、SetUpメソッドを使用してモックされたデータベースにデータを入力するにはどうすればよいですか?

Related 関連記事

  1. 1

    Rails:モデルのクラスメソッド内でコレクションを反復処理します

  2. 2

    セルフメソッドを呼び出してフラスコ内のデータを取得するにはどうすればよいですか?

  3. 3

    スレッドで実行されているクラスメソッドを停止します

  4. 4

    与えられたデコレータでPythonクラスのすべてのメソッドを取得する方法

  5. 5

    モックされたDbSetメソッドは、コントローラー内で呼び出されるとNotImplementedExceptionをスローします

  6. 6

    モックされたメソッドは、例外をスローするのではなく、コレクションで例外をラップします

  7. 7

    そのメソッドへの引数がコンパイル時にクラスパスにないクラスである場合、リフレクションを使用して宣言されたメソッドを取得する

  8. 8

    クラス内でデコレータを宣言して、すでに装飾された継承されたメソッドを装飾するにはどうすればよいですか?

  9. 9

    クラス内のプライベートメソッドを使用してPyTorchで保存されたモデルを逆シリアル化するにはどうすればよいですか?

  10. 10

    含まれているメソッドの匿名内部クラス内からデータを返します

  11. 11

    作成中のモジュールのクラスメソッドからPromiseが返されるのを待っていますが、それを取得しますが、コンテキストがおかしいです。どうすれば適切に待つことができますか?

  12. 12

    テストされているクラスのパブリックメソッドをモックします

  13. 13

    バイトコードで使用するJavassistを使用して、クラスで宣言されたフィールドのインデックスを取得します

  14. 14

    fing []で指定されたメールボックスの迅速なメーラーアドレスからこのエラーを取得することは、RFC 2822、3.6.2に準拠していません。

  15. 15

    メソッドがトランザクション内で実行されているかどうかに関係なく、自動コミットをオンまたはオフにしてデータソースを挿入する方法

  16. 16

    ViewSetで「as_view」メソッドを使用してビューを取得するときにアクションデコレータのkwargsが渡されない

  17. 17

    PHPUnit:モックされていないメソッドから呼び出されるクラス内の特定のメソッドをモックする方法

  18. 18

    デコレータによってクラスで定義されているメソッドとプロパティを知ることは可能ですか?

  19. 19

    プロパティのgetterメソッドで@XMLElementを使用してクラスレベルで指定されたJAXB @ XMLAccessorType(XMLAccessType.FIELD)をオーバーライドするにはどうすればよいですか?

  20. 20

    指定された文字列内の文字の出現を見つけるために配列を作成しようとしています。クラスStringのメソッドlengthとcharAtの使用のみが許可されています

  21. 21

    ネストされたifを使用して、モデル内のメソッドでnone値を取得するのはなぜですか?

  22. 22

    MVC-モデルクラスに属するメソッドは「タイプとして使用されます」

  23. 23

    パラメータがモデルではなくメソッド引数として直接定義されている場合、IHttpActionResultの結果はリクエスト本文パラメータのバインドに失敗します

  24. 24

    モデルクラスメソッドでヘルパーメソッドを実行します

  25. 25

    Laravelモデルがコントローラーメソッドでバインドされていません

  26. 26

    JavaScript MVC:コントローラー内で呼び出されたモデルメソッドがudefined->を返しますが、なぜですか?

  27. 27

    クラス内のメソッドとしてデコレータを定義する

  28. 28

    Odoo9のORMAPIのsearch()メソッドを使用して、レコードの作成日に従ってモデルの最新のレコードを取得するにはどうすればよいですか?

  29. 29

    Ninjectを使用するときに汎用のGetメソッドをモックし、SetUpメソッドを使用してモックされたデータベースにデータを入力するにはどうすればよいですか?

ホットタグ

アーカイブ