У меня есть приложение rails с двумя моделями, посещениями и пользователями.Посещение имеет 2 пользователя;диспетчер и инженер.Я установил отношения следующим образом, но по какой-то причине я не могу получить доступ к атрибутам соответствующего пользователя.Это потому, что я использую устройство?
Посетите модель
class Visit < ActiveRecord::Base
belongs_to :engineer, :class_name => "User", :foreign_key => 'engineer_id'
belongs_to :controller, :class_name => "User", :foreign_key => 'controller_id'
end
Модель пользователя
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
attr_accessible :email, :password, :password_confirmation, :remember_me
has_many :engineer_visits, :class_name => "Visit", :foreign_key => "engineer_id"
has_many :controller_visits, :class_name => "Visit", :foreign_key => "controller_id"
end
Индекс посещений
<% @visits.each do |visit| -%>
<%= visit.visit_date.strftime("%a %d/%m/%Y") %>
<%= visit.engineer.email %>
<% end -%>
Здесь происходит сбой, за исключением следующего:
NoMethodError in Visits#index
...
undefined method `email' for nil:NilClass
Если я печатаю <%= debug visit.engineer %>
, есть атрибут электронной почты, ноНа самом деле я не могу отобразить какие-либо отдельные атрибуты.
Есть идеи, как получить доступ к этим переменным?