У меня есть стандартный контроллер, который настроен для ответа на запросы HTML, JS и JSON:
def picture
@picture = Picture.new params[:picture]
respond_to do |format|
if @picture.save
format.html do
logger.debug "In the HTML responder"
redirect_to @picture
end
format.json { render json: @picture, status: :created, location: @picture }
format.js { render :nothing => true }
else
# you get the idea
end
end
end
Теперь я пытаюсь отправить запрос этому контроллеру с помощью функции $.ajax
(я не могу использовать :remote => true
в этой конкретной ситуации - я пытаюсь выполнить загрузку файла ajax).
$.ajax({
url: $("form#new_picture").attr("action"),
type: "POST",
data: formdata,
processData: false,
contentType: false
});
Проблема заключается в том, что по какой-либо причине мой запрос обрабатывается как HTML-запрос. Как сообщить рельсы, что я хочу получить ответ JS?
Кстати, я использую jquery_ujs в моем проекте, поэтому у меня есть доступ к методам, которые он предоставляет при необходимости. Я не очень хорошо разбираюсь в JS, чтобы настроить это, чтобы делать то, что мне нужно здесь.