Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Ruby On Rails > разное поведение одного и того же кода |
Автор: m_maxser 9.4.2013, 14:27 | ||||||||||||
Здравствуйте, Есть код, точнее маленькая часть кода, которая безоговорочно работает на машине свего автора и на сервере. А вот у меня работает не всегда. На поиск причины потратил кучу времени, но ничего не нашел. Везде Ruby 1.8.7 и Rails 3.0.11. Сервер - Linux. У меня и у автора кода W7. Вообще компы у нас отличаются только железом. Проблема с моей стороны выглядит так: я запускаю проект (Rails start) -> все работает -> перехожу на страницу с тем самым кодом -> получаю ошибку undefined method for nil:NilClass. Если получилось так как я описал, то я просто перезапускаю рельсы (Rails start) до тех пор пока этот код не начнет работать. Иногда все работает вообще с первого раза, иногда нужно до 10 перезапусков, но рано или поздно оно начинает работать. В чем дело? Теперь подробнее... есть две модели
ошибка возникает в контроллере публикации во время множественного присваивания
Т.е. последняя строка передает каждый из вложенных хешей в метод "value=", модели Param. Если конкретный (Rails start) был удачным, то у publication будет коллекция params, содержащая нужные мне данные. Но если рельсы, почему-то, криво запустились, то в метод "value=" из хеша передастся только value, а characteristic_id будет равен nil. Т.е. self.inspect выведет:
и соответственно я получаю ошибку
Думаю, что проблема не связана с "accepts_nested_attributes_for". Проблема скорее всего в получении данных accessor-методом "value=". Т.к. эту же ошибку может вызвать код вроде:
P.S.: Код программы сильно упрощен, особенно код контроллера. Но этого достаточно для понимания ситуации. |
Автор: bilbobagginz 18.4.2013, 22:33 |
в обоих случаях web server тот же ? те же версии ? |
Автор: m_maxser 23.4.2013, 06:52 |
у меня и у разработчика WEBrick, на хостинге - аппач |