Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > RoR. Cвязанные таблицы.


Автор: Treod 9.10.2010, 17:07
Есть 2 таблицы: 
table1: 
-id 
-name 

table2: 
-id 
-name 
-id_table1 

Есть ли возможность в Rails через скафолд сделать, чтобы при добавлении записи в Table2 был select со значениями из table1? 

Т.е.: 
Name – текстовое поле 
Id_name – select из table1

Автор: source777 9.10.2010, 21:03
Цитата(Treod @  9.10.2010,  17:07 Найти цитируемый пост)
Есть ли возможность в Rails через скафолд сделать

Что ты имеешь в виду? Скаффолд убрали из Rails ещё в начале 2008 года. Пора бы забыть про него. Чисто номинально существует генератор статического скаффолда, но что-то делать через него значит использовать данный инструмент не по назначению.


Цитата(Treod @  9.10.2010,  17:07 Найти цитируемый пост)
чтобы при добавлении записи в Table2 был select со значениями из table1

то что ты описываешь - это вообще уровень БД, почитай о триггерах, если интересно. Однако зачем делать SELECT после INSERT в общем случае не очень понятно.

Автор: Treod 10.10.2010, 10:50
Извините, я не правильно выразился. Под select я подразумевал всплывающий список (ListBox).

user posted image

Вот такую штуку надо сделать.

Пример таблиц:

Статьи:
-ид
-наименование
-ид_категории

Категории:
-ид
-наименование


При добавлении статьи я должен выбирать категорию.

Автор: source777 11.10.2010, 17:03
А, так это не проблема.
В контроллере в action new выбери нужные категории, в простейшем случае все:
Код

@categories = Category.all


А потом во вьюхе с формой добавь выпадающий список:
Код

<%= f.collection_select(:category_id, @categories, :id, :name, {:include_blank => true}) %>


P.S. Предполагается, что у Category есть атрибут name, содержащий название категории в пригодном для отображения виде.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)