Ruby on rails Редактирование кросс-модели через отношения многие-многие - PullRequest
0 голосов
/ 06 августа 2011

Я отслеживал SO-сайт по мере развития моего рельса, и это хороший источник информации.Я пишу приложение для поддержки нескольких хостов и связанных с ними гарантийных обязательств.Контракты У хоста может быть много контрактов, и контракт может применяться ко многим хостам.Итак, у меня есть три класса: Host, WarrantyContract и HostWarranty.Модель HostWarranty имеет FK-ссылки на хост и WarrantyContract, а также поле комментариев.

Что мне нужно сделать, это управлять содержимым таблицы host_warranties (сборка, Warranty_contract), комментарии) через хост и warranty_contract страниц, чтобы при редактировании деталей хоста я мог применить один или несколько контрактов;когда я редактирую контракт, я могу указать, к каким хостам он применяется.

Я изучал, используя has_many, accepts_nested_attributes_for и has_and_belongs_to_many ( отношение «многие ко многим» ста же модель в рельсах? пока что является основным источником) но я борюсь с тем, как я разрабатываю шаблон представления _form;В большинстве примеров, которые я видел, используется метод fields_for, тогда как мне нужен <select> список имен и идентификаторов.

Я особенно после предложенных решений, но больше представляю, какие области API-интерфейсовЯ должен смотреть или гуглить.

Ответы [ 2 ]

2 голосов
/ 07 августа 2011

Я думаю, вы спрашиваете, как выбрать несколько из существующих записей?Если это так, то у вас есть несколько вариантов.1) Вы можете представить список предметов (контрактов?) С флажками, чтобы пользователь мог пометить элементы, которые они хотят

2) Вы могли бы представить выпадающий список с множественным выбором, чтобы выбрать несколько предметов из

3) Вы можете представить поле ввода с возможностью поиска, в которое пользователь вводит данные, и при вводе списка они будут отображаться, которые соответствуют критерию ввода

Все эти параметры представлены на веб-сайте Railscasts в той или иной форме

http://railscasts.com/episodes/258-token-fields http://railscasts.com/episodes/102-auto-complete-association http://railscasts.com/episodes/17-habtm-checkboxes

Там должно быть достаточно, чтобы вы начали

0 голосов
/ 09 августа 2011

Предложение от Джеймса было фантастическим.Отлично.Теперь я могу немного поспать, зная, что это способ сделать это.И я должен быть в состоянии применить эту технику к другим таблицам, которыми я должен управлять.Railscast абсолютно на месте.Спасибо тебе большое.

...