У меня проблема с моим приложением Ruby on Rails с моделью, в которой отношения belongs_to остаются в конечном итоге равными нулю.Почему я получаю nil для отношений belongs_to в Rails?
Учитывая следующие модели:
class Chassis < ActiveRecord::Base
belongs_to :model
belongs_to :chassis_size
end
class Model < ActiveRecord::Base
has_many :chassis
end
class ChassisSize < ActiveRecord::Base
has_many :chassis
end
Теперь, я бы ожидать, на мой взгляд, индекс шасси я хотел бы видеть, как модель и данные chassis_size Дано:
<% @chassis.each do |chassis| %>
<%= chassis.id %><br />
<%= chassis.model.name %><br />
<%= chassis.chassis_size.size %><br />
<% end %>
Но я получаю сообщение об ошибке что chassis_size.size равна нулю:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.size
Глядя на данные в базе данных, все представляется правильным.
Я не уверен, почему работает модель, но chassis_size этого не делает. Что мне не хватает? Почему данные chassis_size не загружаются?
Да, размер столбца. Я принимаю, что я должен переименовать его в нечто другое ... BUT ... У меня есть столбец описания на этой таблице, и с помощью этого получается «неопределенный метод« описание »для ошибки nil: NilClass» – y0mbo
Разумеется, я пропустил ключ в миграции и не видел значения NULL при прокрутке данных. Благодаря! – y0mbo
У меня такая же проблема ... но я уверен, что данные верны ... что вы имеете в виду, что вы «пропустили ключ»? Вы имеете в виду, что некоторые из шасси Null? Или некоторые из их размеров равны нулю? Для меня, если я задаю класс объекта, к которому он принадлежит, он работает, но если я попрошу атрибут этого объекта, он говорит, что это класс nill. – Jenny