Я пытаюсь сделать включенную веб-страницу 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
Спасибо за справку.
Добавьте эту строку в ваш блок response_to
:
format.js { render :layout => false }
Здесь сказано, что для запросов javascript не выводите макет. Теперь она должна работать как для запросов ajax, так и для обычных web-ссылок.
Вы должны добавить формат 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