|
|
|
Ramira |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 16.9.2009 Репутация: нет Всего: нет |
В БД есть три таблицы: maillists(id, name), subscribes(id, maillists_id), messages(id, maillists_id). Необходимо вывести на экран таблицу: Имя_рассылки(из maillists) Кол-во_подписчиков (посчитать в subscribes) Кол-во_выпусков(посчитать в messages).
Только начала разбирать ruby, работа с БД понимается с трудом. Это сообщение отредактировал(а) Ramira - 16.9.2009, 14:06 |
|||
|
||||
Ramira |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 16.9.2009 Репутация: нет Всего: нет |
Более менее разобралась, сделала след.образом:
<% maillists=Maillist.find(:all, :conditions => "user_id=1") %> <!-- session[:user]--> <% for m in maillists do %> <%= m.name_mailer %> .... <% subscribe = Subscribe.count(:all, :conditions => "maillist_id = #{ m.id }") %> <%= subscribe %> <% message = Message.count(:all, :conditions => "maillist_id = #{m.id}") %> <%= message %> .... <% end %> может кто-нибудь подскажет, где можно взять литературу о работе с БД в ruby? А то если бы мне не подсказали, в жизни бы не нашла, как это делается... |
|||
|
||||
fixxer |
|
|||
Опытный Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: нет Всего: 27 |
это при условии что в Maillist есть has_many :subscribes, :messages Это сообщение отредактировал(а) fixxer - 17.9.2009, 14:29 -------------------- |
|||
|
||||
source777 |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: нет Всего: 56 |
Лучше даже:
В таком варианте, если используются счётчики, то запрос к БД будет всего 1, иначе будет эквивалент кода, приведённого fixxer, только чуть короче. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby: Базы данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |