Направляющие ajax запрашивают HTML представления загрузки только

Я пытаюсь сделать включенную веб-страницу Ajax с помощью направляющих и jQuery. Проблема, с которой я сталкиваюсь, состоит в том, что, когда я пытаюсь загрузить представление в отделение, использующее метод Ajax jQuery, я возвращал свое расположение приложения с представлением. Существует ли способ только получить данные представления, если это - запрос Ajax, но загрузите мое расположение приложения также если не запрос Ajax?

Вот метод контроллеров, который я называю:

def new
   @blog = Blog.new

   respond_to do |format|
       format.html # Goes to the new.html.erb view.
       format.xml { render :xml => @blog }
   end
end

Спасибо за справку.

6
задан Brian DiCasa 17 January 2010 в 19:00
поделиться

2 ответа

Добавьте эту строку в ваш блок response_to:

format.js { render :layout => false }

Здесь сказано, что для запросов javascript не выводите макет. Теперь она должна работать как для запросов ajax, так и для обычных web-ссылок.

7
ответ дан 8 December 2019 в 16:03
поделиться

Вы должны добавить формат JS на ваш RESP_TO BLOCK:

format.js do
  render :update do |page|
    page.replace_html "id_of_your_div" :partial => "something"
  end
end

или

format.js do
  render :js => "$('#id_of_your_div').html('#{escape_javascript(render_to_string(:partial => 'something')}');"
end

Или даже вы можете поместить код JavaScript в файле, называемый New.js.erb без необходимости блока формата.

Я рекомендую вам прочитать направляющие рельсы: http://guides.rubyonrails.org/layouts_and_rendering.html#using-render-with-update

8
ответ дан 8 December 2019 в 16:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: