1

ActiveRecord::Baseから継承された新しいクラスProjectを作成しました。get_allというクラス メソッドを定義し、Controller で使用したいのですが、NoMethodError (undefined method for ...)が発生しました。

モデル:

class Project < ActiveRecord::Base

  def self.get_all
    find(:all)
  end

end

コントローラ:

class Controller < ApplicationController
  unloadable

  def index
    @projects = Project.get_all
  end
end
4

1 に答える 1

1

Rails 3 では、find(:all)メソッド (オプションなし) は非推奨になり、allメソッドが優先されることに注意してください。それについての詳細:

http://m.onkey.org/active-record-query-interface

また、次のことができるのに、なぜその機能を作成しているのかわかりません。

@projects = Project.all

クリスブルマーが言ったように。

これはうまくいくはずです:

プロジェクトモデル

  def self.get_all
    Project.all
  end
于 2013-03-27T14:55:39.690 に答える