2014-01-04 3 views
0

В примерной базе данных ассоциациями являются: Владелец has_many home и Home принадлежит_to Владелец. Я знаю, что могу вызвать owner.homes, чтобы получить список всех своих домов, но в моем представлении мне кажется, что я только могу позвонить home.owner_id, чтобы получить что-либо от объекта владельца.Ассоциация между has_many и owned_to

Есть ли способ обойти это?

Главная модель:

belongs_to :owner, 
inverse_of: :homes 

PARAMS выглядеть

def home_params 
    params.require(:home).permit(:street_address, :city, :state, :postal_code, :description, :owner_id) 
    end 
+0

Вы пытаетесь получить переходное отношение? –

+0

Не совсем уверен, но после быстрого поиска в Google на этот срок я так думаю – John

+0

Возможно, вы сможете найти решение сейчас. Комментарий в случае неудачного –

ответ

1

способность делать home.owner естественный результат того, что вы описали, как это owner.homes. Это все покрыто http://guides.rubyonrails.org/association_basics.html

Если вы можете сделать home.owner_id, но не home.owner, это означает, что база данных настроена правильно, но вы пропустили belongs_to :owner вызов в вашей Home модели.

+0

Я отредактировал мой вопрос соответственно. Я только, кажется, могу вызвать home.owner_id, на мой взгляд, получить что-либо от объекта владельца. Есть ли способ обойти это? Есть ли что-то, что мне нужно сделать с параметрами? – John

+0

См. Обновленный ответ. –

+0

Я перепробовал и у меня есть следующее: принадлежит_to: owner, inverse_of:: homes – John

Смежные вопросы