Я создаю форму в рельсах, которые будут редактировать существующий вопрос через ajax.
После того, как форма отправлена и вопрос обновлен, метод обновления в контроллере отображает update.js.erb, который снова скроет форму.
Моя проблема в том, что код javascript в update.js.erb вообще не выполняется.
Я знаю, что файл является рендерингом, потому что он отображается на выходе сервера, и когда я помещаю
<% raise params %>
он работает.
Однако даже самый простой
alert('hello');
не действует в том же файле.
Я исключил проблемы с настройкой javascript и jquery, потому что тот же код отлично работает в моем файле edit.js.erb. Он просто не работает в update.js.erb.
Что мне не хватает?
Изменить:
Firebug не показывает ошибок. Вот ответ на сетевой панели firebug:
alert('hello');
$('#question_body').replaceWith('<h4><p>jhsdfjhdsb k jdfs j fjfhds <strong>jfshaflksd;hf sdldfs l fdsalkhdfskhdfs</strong>;fd lfdksh hfdjaadfhsjladfhsjadfs ;df sjldfsj dfas hafdsj fdas ;ldfas ldfs df dl;hdf fdh ;fdj ;lfads</p></h4>');
def update
Изменить 2:
Это действие контроллера:
def update
respond_to do |format|
if @question.update_attributes(params[:question])
format.html { redirect_to @question, :flash => { :success => 'Question was successfully updated.' } }
format.json { head :no_content }
format.js {}
else
format.html { render action: "edit" }
format.json { render json: @question.errors, status: :unprocessable_entity }
end
end
end