Неопределенный метод, почему? - PullRequest
1 голос
/ 22 марта 2011

У меня есть модуль:

module Room::Chair

  def get_chair_type(user)
    ..
  end

end

Затем у меня есть класс с методом класса ' self.get_available_chair ', который вызывает метод ' get_chair_type ' в модуле Room::Chair:

class Store < ActiveRecord::Base
  include Room::Chair

   def self.get_available_chair(user)
       my_chair=get_chair_type(user) # error: undefined method 'get_chair_type'
   end

end

У меня include Room::Chair, но я получил ошибку неопределенный метод 'get_chair_type (user)' почему?

Ответы [ 2 ]

5 голосов
/ 22 марта 2011

Вы использовали include, поэтому get_available_chair - это метод класса Store; и вы не можете вызвать метод экземпляра (get_chair_type) из метода класса.

Если вы хотите, чтобы get_chair_type был методом класса, используйте extend вместо include.

0 голосов
/ 22 марта 2011

Поскольку вы определили get_available_chair в области действия класса Store.Это метод класса.У него нет доступа к методу экземпляра get_chair_type.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...