При использовании respond_to
мой вызов AJAX вызывает только ответ javascript, если ответ HTML отсутствует.
У меня есть следующий javascript для отправки действия редактирования на месте:
$(".eip").editable("/surveys", {
name : 'survey[name]',
select : true,
event : 'edit',
submit : 'Save',
cancel : 'cancel',
cssclass : "editable",
onblur : 'ignore',
onedit : function() { $(".eip_desc").hide(); },
onreset : function() { $(".eip_desc").show(); },
onsubmit : function() { $(".eip_desc").show(); }
});
Тогда у меня есть следующий метод Survey controller:
class SurveysController < ApplicationController
def create
@survey = Survey.new(params[:survey])
if @survey.save
respond_to do |format|
format.html { redirect_to surveys_path, :notice => "Survey created!" }
format.js
end
else
render :action => :new
end
end
end
Если я удаляю строку format.html
, то format.js
отвечает как следует. Но если я оставлю format.html
там, то вся страница будет отображаться при отправке через этот editable
бит javascript.
Я использую Rails 3.0.3 для этого приложения.