главная -> статьи -> On-line приложения на платформе Ruby on Rails (часть 2) | |
Работа с базами данных
Платформа Ruby on Rails обладает очень развитыми механизмами взаимодействия с базами данных (БД), основа - Class ActiveRecord::Base. Следует четко представлять, что мы пытаемся извлечь из БД: одну запись, набор записей для дальнейшей обработки и пр. Существует три различных подхода - поиск по идентификатору, поиск множества и поиск первой, естественно, что во второй и третьей позиции предполагается возможность определения опций и условий поиска. Опции могут быть - :conditions, :order, :group и др. Рассмотрим несколько примеров:@user = User.find(params[:id].to_i) @users = User.find(:all) @user = User.find(:first,
@books = Book.find(:all, :order => 'autor,name',
@users = User.new(@params['user']) @user = User.find(session[:my_user])
Обратите внимание на @params['user']- иной способ работы с параметрами формы. В этом случае объекты формы должны именоваться, как показано на фрагменте кода, и соответствовать полям таблицы базы данных: <td>Фамилия*<br>
Правило (соглашения rails):
Вспомним: контроллеру ставится в соответствие каталог в папке views, а обработчику?
(action) - файл *.rhtml с таким же именем, иными словами, выборку записей можем
произвести в контроллере, а в форме развернуть в требуемое представление.
И еще. Никто не мешает использовать запросы SQL: Book.find_by_sql ["SELECT * FROM books WHERE author LIKE ? AND
name LIKE ?",
|
|
© 2008 Сединко А.М.
© 2004 design by kir |