Я работаю над «Ruby On Rails 3 Essential Training» и получил проблему при использовании областей имен. При поиске записей и использовании запросов с консолью Rails все прошло гладко, пока я не попытался использовать область имени в файле subject.rb. Это мой код в файле subject.rb.Ошибка аргумента: тело области видимости должно быть вызвано
Class Subject < ActiveRecord::Base
scope :visible, where(:visible => true)
end
Я сохранил .RB файл и перезапустить мой Rails консоль, но когда я бег из моих рельсов консоли:
subjects = Subject.visible
я получаю: ArgumentError: The scope body needs to be callable.
Кто-нибудь знает, почему я получаю эта ошибка.
Хорошо, это имеет смысл, и я не могу дождаться, чтобы попробовать завтра утром, чтобы продолжить учиться. Спасибо за быстрый ответ. Любые догадки о том, почему преподаватель не использовал никаких оберток в своем примере. Казалось, он работал с ним. Я также заметил, что в новейшей версии рубина не используется маркировка «self.up» «self.down». Инструктор сказал, что рубину не нужно, чтобы в новых версиях, но я должен был включить его, чтобы сделать миграцию. Это становится запутанным, когда существуют разные версии рельсов, поскольку учебные видеоролики были сделаны. Еще раз спасибо. –
Спасибо за ваш ответ, он отлично работал! –
@SamGruse это Rails 4 способ сделать это, курс, кажется, использует Rails 3 – reillyse