2012-05-05 2 views
0

У меня есть текст ввода, который на клавиатуре отправляет запрос ajax и дает ответ для замены содержимого. Моя форма выглядит так:Rails ajax для замены содержимого не работает

= form_for(:search, :url => "https://stackoverflow.com/users/search", :remote => true) do |f| 
    = f.label :user, "Type to find users" 
    = f.text_field :user 

Обыски поиск действий UsersController для пользователя на основе AJAX данных и делает шаблон search.js.erb. Мои действия поиска выглядят так:

def search 
    @users = User.search(params[:user]) 
    respond_to do |format| 
     format.js{} 
    end 
    end 

Теперь шаблон search.js.erb прост, что и есть;

$('.users_info').html(<%=j render @users %>); 

Ответ правильный, если я смотрю в firebug, но не заменяет содержимое на странице. Если я размещаю предупреждение, он предупреждает пользователя. Почему я не могу заменить существующий контент на странице. Есть ли что-то, что я делаю неправильно?

ответ

1

Действительно ли необходимо использовать js.erb? Похоже, в вашем случае вы можете просто

$('form').bind('ajax:success', function(e, data){ 
    $('.users_info').html(data); 
}); 

Если вам действительно нужно, попробуйте:

$('.users_info').html('<%=j render 'search_user' %>'); 
+2

теперь я знаю, моя ошибка, я забыл поставить кавычки ЭСО cpdes – Sandeep

Смежные вопросы