自分のマシンでローカルに機能するメソッドがありますが、Herokuでは失敗します。Herokuのログによると:
NoMethodError(nil:NilClassの未定義のメソッド `events')
私はこのメソッドと同等の方法でherokuコンソールを使用しましたが、それをサポートするデータがあるので機能します。方法は次のとおりです。
def index
@events = current_user.school.events
end
私は、current_userメソッドを提供すると信じているDeviseを使用しています。同等のa=User.first.school.eventsは、データを含む真のインスタンス値を生成します。User.firstは正しいデータを生成します。
これが私のモデルです:
class School < ActiveRecord::Base
#validates_presence_of :name
has_many :events, :dependent => :destroy
has_many :users, :dependent => :destroy
belongs_to :user
belongs_to :event
def self.fetch_for_name(_name)
school = self.new(:name => _name)
end
end
class User < ActiveRecord::Base
belongs_to :school
rolify
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :name, :email, :password, :password_confirmation, :remember_me
end
class Event < ActiveRecord::Base
belongs_to :school
end
単純で基本的なことを見落としていたら、私のようになりますが、Herokuコンソールでこれを正しく実行できるとしたら、なぜこのメソッドが機能しなくなるのでしょうか。別の無関係なページがHerokuで正しく機能します。