У меня есть несколько вложенных объектов в рельсах.Пользователь -> has_many: задачи -> has_one: местоположение.
Вчера я думал, что у меня проблемы с привязкой значений местоположения к задаче, но теперь я понимаю, что не могу получить значения для вывода в шоу.
Я могу получить вывод через отладку
<%= for task in @user.tasks %>
<%= debug task.locations %>
<% end %>
output
--- !ruby/object:Location
attributes:
id: "1"
address: "testing address"
city: "chicago"
attributes_cache: {}
changed_attributes: {}
etc. etc. etc.
Так что я подумал, что если бы я использовал
<%= task.locations.address %>
Rails дал бымне адресное поле.но я получаю
undefined method 'address' for nil:NilClass
какие-либо предложения о том, что я ошибся?
---------- обновление, включая модели ---------------- Мои модели для задач и локаций:
class Task < ActiveRecord::Base
attr_accessible :user_id, :date, :description, :location_id
belongs_to :user
has_one :location
end
class Location < ActiveRecord::Base
attr_accessible :address, :city, :state, :zip
has_many :tasks
end