0

モデルの 1 つでアクティブな管理者のスコープを使用しようとしていますが、これが表示されますerror undefined method reorder' for array.

アクティブな管理者を使用して別のモデルでスコープを正常に使用しましたが、この問題が発生する理由をデバッグできません。

アクティブな管理者からのコードは次のとおりです:-

ActiveAdmin.register Startup do

    scope :reached do |startups|
        startups.all
    end

end

問題になる可能性のあるアイデアはありますか?

4

2 に答える 2

0

ActiveRecordリレーションの代わりに配列を返していますが、それをそのようなメソッドにチェーンしようとしているのではないかと思います.order。何をスコープしようとしていますか?

すべてのレコードが必要な場合は、スコープは必要ありません。スタートアップを絞り込みたい場合は、次のようなものを使用する必要がありますStartup.where(#condition you want met)

于 2013-03-16T18:53:23.407 に答える
0

これは、モデルレベルでの私の関連付けでした。

startup.rbで

has_many :fund_requests, :dependent => :destroy

Fund_request.rbで

belongs_to :startup

ステータス (資金要求の属性) に達した資金要求の範囲を調べようとしていました。

ただし、モデルレベルで機能するこのようなものは、アクティブな管理者では機能しませんでした

scope :reached do |startups|



     startups.fund_requests.where(status = ?', 'Pending')

end

これは私に「再注文」エラーを与えていました

このように書くとうまくいきました:-

scope :reached do |startups|
        startups.joins(:fund_requests).where(['fund_requests.status = ?', 'Pending'])
    end`

連鎖が機能せず、結合が機能していた理由がわかりません。

于 2013-03-18T04:26:40.253 に答える