главная -> статьи -> On-line приложения на платформе Ruby on Rails (часть 2) | |
Работа с Ajax
Платформа содержит развитую поддержку работы с технологией Ajax, обеспечивая доступ к серверу без обновления формы. См. раздел Module ActionView::Helpers::PrototypeHelper в API Ruby on Rails. В приложении Библиотека v3.1 до сохранения сведений о пользователе ведется проверка уникальности логина (фрагмент кода контроллера показан в разделе Работа с базами данных, пример 3). В общем случае, RoR API для формирования Ajax запроса предлагает метод
remote_function
<%= remote_function( где res_log – javascript функция формата, вызываемая по завершению работы action pre_log с параметром request.responseText Для формирования запроса с параметрами можно воспользоваться непосредственным обращением к Ajax объекту перед выполнением form.submit(this): new Ajax.Request('/persons/pre_log?log='+form.user_login.value, {asynchronous:true, evalScripts:true, onComplete:function(request) {res_log(request.responseText)}}) В контроллере persons определяем action pre_log: def pre_log @user = User.find(:first, :conditions => [ "id <> ? AND login = ? ", session[:my_user].to_i, params[:log]]) if @user != nil tmp_txt = "1" else Функция формы:
Таким образом, не отправляя форму на сервер (сохраняем заполненные поля),
производим проверку требуемых полей по заданным на сервере условиям.
Просто и достаточно эффективно.
|
|
© 2008 Сединко А.М.
© 2004 design by kir |