Я работаю над приложением rails, в котором я хочу отвечать на запросы ajax с помощью объекта JSON, который содержит как переменные экземпляра, которые я установил в контроллерах Rails, путем запроса к базе данных, так и визуализированное представление (с без шаблона). Я использую after_filter
следующим образом:
after_filter :handle_ajax
def handle_ajax
respond_to do |format|
format.html
format.json do
data = {}
instance_variables.each {|iv| data[iv] = instance_variable_get(iv) }
data[:url] = request.path
#data[:html] = render_to_string :action => params[:action], :template => false
render :json => data
end
end
end
Однако Rails жалуется, когда я использую это, что я звоню render
дважды (или в этом случае render
и render_to_string
). Разве это не правильный способ обработки AJAX-запроса? Я относительно новичок в Rails, поэтому вполне возможно, что это просто не RoR способ делать вещи.