2013-06-17 5 views
0

내가 가진 edit.js.erb :페이지를 다시로드하지 않고 수정을하는 방법

$('#danswerform_<%= @danswer.id %>').hide().after('<%= j render("form") %>'); 

update.js.erb :

$('#edit_danswer').remove(); 
$('#danswerform_<%= @danswer.id %>').show(); 

및 편집 형태 <%= form_for(@danswer, remote: true) do |f| %>

와 하지만 변경 사항을 확인한 후 다시로드하십시오. (그 다음 오른쪽 버튼을 누릅니다)
컨트롤러 :

def update 
    @danswer = Danswer.find(params[:id]) 

    respond_to do |format| 
     if @danswer.update_attributes(params[:danswer]) 
     format.html { redirect_to danswers_path, notice: 'Danswer was successfully updated.' } 
     format.js 
     else 
     format.html { render action: "edit" } 
     end 
    end 
    end 
+2

양식을 제출할 때 페이지가 다시로드되는 반면, 'remote : true'는 의미합니까? 당신은 확실히 당신의 페이지에 자바 스크립트 오류가 있습니다. – Baldrick

+0

예, 양식을 제출할 때 페이지가 다시로드됩니다.이 양식은 새 레코드를 추가 할 때도 사용되며이 경우 올바르게 작동합니다. – AlexSemch

+0

Baldrick과 Aree - 자바 스크립트 콘솔에서 오류가 있는지 확인하십시오. 아무 것도 없다면 jquery_ujs가로드되지 않을 수도 있습니다. –

답변

0

마침내 문제가 발견되었습니다. 페이지에서 동일한 ID를 가진 2 개의 폼이 있습니다 : 부분 _danswer 및 _form action (edit_danswer_id) .. 모두에게 감사드립니다!

관련 문제