Как ассоциации влияют на то, как мы создаем объекты в контроллере? - PullRequest
0 голосов
/ 31 мая 2018

Я понимаю, что ассоциации важны, потому что это дает нам способ связать два объекта вместе, чтобы они имели «отношение», и мы можем запросить оба из них.Например,

Целевая страница принадлежит пользователю блога & У пользователя блога может быть много целевых страниц

Мы, очевидно, заходим в моделии примените правильные методы 'has_many' и 'assign_to'.Мы также создадим миграцию и добавим внешний ключ в модель «own_to».Это «целевая страница».

Моя проблема:

При создании целевой страницы можно выбрать пользователя блога.Это очевидно передает идентификатор пользователя блога в params.Я хочу сохранить этот идентификатор в поле внешнего ключа в модели целевой страницы.

Возможно ли это без выполнения:

def create
    @landing_page = @blog_user.landing_pages.build(landing_pages_params)
end

Почему вы должны идтичерез пользователя блога ?Другой пример:

def new
   @landing_page = @blog_user.landing_pages.new
end

Какова цель сделать это таким образом?Конечно, достаточно ввести идентификатор в поле, не заходя в blog_user?

1 Ответ

0 голосов
/ 31 мая 2018

Конечно, вы можете сделать что-то вроде

@landing_page = LandingPages.new(blog_user_id: X)

Очевидно, вам нужно знать идентификатор записи BlogUser.После этого вы сможете получить доступ к недавно ассоциированному BlogUser, как и ожидалось

@landing_page.blog_user #=> BlogUser(id: X)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...