Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RoR. Cвязанные таблицы. Добавление записи. Select. 
V
    Опции темы
Treod
Дата 9.10.2010, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.11.2007

Репутация: нет
Всего: 2



Есть 2 таблицы: 
table1: 
-id 
-name 

table2: 
-id 
-name 
-id_table1 

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

Т.е.: 
Name – текстовое поле 
Id_name – select из table1
PM MAIL ICQ   Вверх
source777
Дата 9.10.2010, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



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

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


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

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


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Treod
Дата 10.10.2010, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.11.2007

Репутация: нет
Всего: 2



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

user posted image

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

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

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

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


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

Это сообщение отредактировал(а) Treod - 10.10.2010, 10:52
PM MAIL ICQ   Вверх
source777
Дата 11.10.2010, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



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

@categories = Category.all


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

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


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


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby on Rails"
source777
  • С чего начать? начинаем
  • Документацию смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby On Rails | Следующая тема »


 




[ Время генерации скрипта: 0.0742 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.