Как я могу отобразить данные из ассоциаций в «Редактировать» формы в Rails? - PullRequest
0 голосов
/ 07 января 2012

Это продолжение Как обслуживать данные из ассоциаций объекта в формах рельсов?

Мне интересно, я хотел бы использовать готовую загрузку для обслуживанияОтредактируйте страницу объекта Article тегами (а также другими атрибутами, которые сохраняются через связанные таблицы. В предыдущем вопросе мне сообщили, что я могу использовать готовую загрузку ассоциаций для предварительной загрузки этих данных. IE в контроллере, который я увеличиваювызов .find для включения

 @article = Article.find(params[:id], :include => [:tags])

Это было бы здорово, за исключением двух основных предостережений: во-первых, он подает объект к полю в форме. Итак, в этом примере поле: tagsв форме редактирования будет заполнено:

[#<Tag id: 298, name: "Wondering">]

Вместо

Wondering

Вторым предупреждением является то, что я не могу предоставить эти ассоциации для настраиваемых полей. Например, вместоУ меня есть поле: tags. У меня есть поле: tag_list. При создании статьи пользователи вводят здесь несколько тегов. При редактировании теги: не отображаются по имени и не помещаются в tag_li.ул.Я всегда мог добавить эту строку в контроллер:

@article.tag_list = @article.tags.map(&:name)

Но я ищу более элегантное решение, потому что у меня очень много полей, для которых мне нужно было бы написать это, и это выглядит какпустая трата строк кода.

Кто-нибудь может помочь?

1 Ответ

1 голос
/ 07 января 2012

Проверьте этот Railscast на Виртуальные атрибуты .Я почти уверен, что это облегчит вашу жизнь.

На самом деле, это в значительной степени ваша проблема.Хорошая работа Райан Бейтс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...