2
Я пытаюсь создать модель, которая является родителем для других пользователей. Вот что я прямо сейчас:Пользовательские отношения с другими пользователями
Модели:
class User < ActiveRecord::Base
.
.
.
has_one :guardian_of_child
end
class GuardianOfChild < ActiveRecord::Base
belongs_to :user, foreign_key: "guardian_id"
has_many :users, foreign_key: "child_id"
end
миграции:
class CreateGuardianOfChildren < ActiveRecord::Migration
def change
create_table :guardian_of_children do |t|
t.references :user, index: true
t.timestamps
end
end
end
Когда я пытаюсь получить доступ к 'guardian_id' или 'child_id'
<% @guardian_of_children.each do |guardian_of_child| %>
<tr>
<td><%= guardian_of_child.user.guardian_id %></td>
это дает мне эту ошибку:
undefined method `guardian_id' for nil:NilClass
Что я делаю неправильно? Может ли кто-нибудь помочь мне?
Не могли бы вы уточнить отношения, которые вы пытаетесь моделировать? Это не ясно из ассоциации, которую вы заявляете. Например, отношение has_many должно иметь принадлежность к другой стороне. Кроме того, было бы неплохо отладить то, что ничто. например, оставить guardian_id и посмотреть, отображается ли какой-либо пользователь. – superuseroi
Можете ли вы предоставить struct.sql или schema.rb, пожалуйста? –