У меня похожая проблема, которая привела меня к этой угрозе, поэтому я подумал, что поделиться своим решением здесь может быть полезно любому.
С :remote => true
вместо этого я получил обычный HTTP-запрос на http://localhost:3000/info/about?remote=true
разыскиваемого AJAX-запроса на http://localhost:3000/info/about
Исправление было легко, но сложно найти!
В моем представлении HAML:
НЕПРАВИЛЬНЫЙ код, которыйвызывает HTTP-запрос
= link_to( image_tag("icons/information.png", :title => t('menu.info')), :controller => "info", :action => "about", :remote => true )
OK-код, который запускает AJAX-запрос
= link_to( image_tag("icons/information.png", :title => t('menu.info')), {:controller => "info", :action => "about"}, :remote => true )
Единственное отличие состоит в {фигурных скобках}!
Забавнохотя с AJAX-запросом я получаю info/about.html
без файла макета.Что не является частичным, но близко к тому, что хотел Ян.Я ожидал, что info/about.js.erb
будет обработано.
В InfoController
def about
respond_to do |format|
format.html # renders ‘views/info/about.html.erb’ inside layout template on HTTP Request
format.js# renders ‘views/info/about.html.erb’, without layout
end
end
-
def about
respond_to do |format|
format.html # => ‘views/info/about.html.erb’ inside layout template on HTTP Request
format.js {render 'about.js'} # => renders ‘views/info/about.js.erb’
end
end