Получение NoMethodError (неопределенный метод `name 'для nil: NilClass) при создании новой модели в консоли Heroku - PullRequest
5 голосов
/ 10 сентября 2011

Я только что нажал на Heroku и попытался провести некоторое тестирование, добавив модель через rails_admin.Когда я сделал это, я получил страницу с общей ошибкой.Я вошел в журналы и заметил это сообщение:

NoMethodError (неопределенный метод `name 'для nil: NilClass)

Затем я открыл консоль heroku и попытался добавить модель вручную и получил то же сообщениепри попытке сохранить.

NoMethodError: неопределенный метод `name 'для nil: NilClass

Вот модель:

class Board < ActiveRecord::Base
  attr_accessible :name, :description

  validates :name, :presence => true
  validates :description, :presence => true
  validates_uniqueness_of :name, :case_sensitive => false

  has_many :subjects
  scope :hidden, where(:is_hidden => true)
  scope :visible, where(:is_hidden => false)
end

Любые идеи, что может случиться с этим - или с чего начатьИщу?

Я выполнил миграцию и смог увидеть, что она распознала модель и ее атрибуты при работе в консоли.

Спасибо!

Ответы [ 2 ]

20 голосов
/ 09 января 2012

После того, как этот вопрос был укушен дважды, я спросил команду поддержки heroku о причине, по которой это происходит.И они ответили:

"после запуска rake db: migrate вам необходимо перезапустить приложение, чтобы оно могло воспринимать изменения схемы, поскольку информация схемы кэшируется во время загрузки в рабочем режиме."

Поэтому не забывайте перезапускать приложение heroku с помощью 'heroku restart' после запуска новой миграции.

4 голосов
/ 11 сентября 2011

Я не уверен, есть ли задержка или что-то в Heroku при отправке изменений и запуске db: migrate, но, потратив несколько часов, я вернулся и снова запустил rake db: migrate, которыйничего не делать, а затем я попытался создать модель снова, и она работала без проблем.

Так что теперь все выглядит хорошо, но я не могу сказать, что мне просто нужно подождать дольше, прежде чем проводить тестирование с Heroku - или действительно ли повторная миграция действительно что-то сделала.

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