Как вы используете вход для выбора формы для полиморфной ассоциации own_to в Rails? - PullRequest
2 голосов
/ 21 февраля 2012

У меня есть модель Article, которая имеет полиморфную ассоциацию принадлежность_ (ресурс). Я пытался разрешить ему установить ассоциацию из формы статьи через два поля выбора, один с типом, а другой с идентификатором ассоциации, как показано ниже.

= form_for @article do
  = f.select :resource_type, ...
  = f.grouped_collection_select :resource_id, ...

Моя проблема в том, что он не выбирает правильную модель в grouped_collection_select, если идентификатор ассоциации существует в двух из связанных моделей.

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

1 Ответ

1 голос
/ 21 февраля 2012

Один из способов справиться с этим - разрешить переключение между ресурсами с помощью функции javascript.У вас есть ссылка, связанная с функцией JavaScript, которая заменяет одно поле выбора ресурса на другое.

Существует Railscast, который описывает, как это сделать.Проигнорируйте вложенную форму и добавьте / удалите бизнес и сосредоточьтесь на основных моментах (привязанная к JavaScript ссылка, вспомогательные методы и т. Д.): http://railscasts.com/episodes/197-nested-model-form-part-2.

...