Рельсы Наблюдение за полем Escape секвенирование - PullRequest
0 голосов
/ 05 января 2011

В настоящее время у меня есть поле наблюдения на веб-странице рельсов, которая ищет определенное имя пользователя с помощью AJAX. Однако у меня возникают проблемы с правильной последовательностью побега. Вот код Rails:

%= observe_field "new_member_search",
      :url => {:controller => :user, :action => :search},
      :frequency => 0.5,
      :update => 'ProjectMemberNew',
      :with => :username
  %>

а вот и контроллер

def search #search for user, use in 'Project Add Member'
name = params['username']
limit = params['limit'] || 21
users = unless name.blank?
  User.find_by_sql(
    ["select id,icon,login,realname,email from users where 
                      #{User.verified_users} and login like  ? limit ?","%#{name}%" ,limit])
else
  []
end
render(:partial => 'search_hit_member',
  :locals => {:users => users},
  :layout => false)

конец

Это дает следующий Javascript

<script type="text/javascript">
//<![CDATA[
jQuery('#new_member_search').delayedObserver(0.5, function(element, value) {jQuery.ajax({data:'username=' + value, success:function(request){jQuery('#ProjectMemberNew').html(request);}, type:'post', url:'/of/user/search'})})
//]]>
</script>

Очень странно, что это не должно работать. Я только что переключился с Prototype на JQUERY.

Спасибо

1 Ответ

0 голосов
/ 06 января 2011

Оказалось, что это не была проблема с escape-последовательностью. Сначала нужно было инициализировать jquery, затем jquery-ui, а затем jrails. если его не в этом порядке, delayedObserver не будет инициализироваться. Странно действительно. https://github.com/aaronchi/jrails/issues#issue/6

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...