폼이 있고 사용자가 제출 단추를 누르는 동안 show_msg
매개 변수 (부울 매개 변수)를 업데이트하려고합니다. 사용자가 상자를 선택하고 submit을 누르면 TRUE로 설정하고 싶습니다. 그렇지 않으면 FALSE입니다.테이블의 부울 셀 업데이트
그래서 팝업 창이있는 기본 HTML이 있습니다. 이 팝업 창에서 내 양식을 작성했습니다.
<form name="input" action="#" method="post">
<input type="checkbox" id="mycheckbox">Don't show me again<br>
<input type="submit" id="Submit">
</form>
이 내 자바 스크립트입니다 : (? 난 그냥이 팝업 창을 닫아야 할 '행동'에 쓰기 무엇을해야 )
$("#submit").click(function() {
$.ajax({
## the url is the controller
url: '/welcome',
type: 'PUT',
data: {show_msg: $("#mycheckbox").is(":checked")}
});
});
이 내 컨트롤러 :
class WelcomeController < ApplicationController
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:show_msg])
format.html { redirect_to @user, notice: 'You will never see this message again.' }
format.json { head :no_content }
end
end
end
도움을 주셨습니다.
아약스 URL에서 업데이트 할 레코드의 ID를 추가하십시오. 나는'url : '/ welcome'+ some_method_to_get_id'를 말합니다. –
URL에서 자동으로 가져와야한다고 생각합니다 (put 요청이기 때문에). –
아니오 put 요청은 숨겨진 필드 어딘가에 id가 있어야하거나 url_parameter로 전달되어야 함을 의미합니다. 레일에서 폼 헬퍼를 사용하면 전달 된 객체가 마술처럼 작동합니다. 그러나 귀하의 경우에는 명시 적으로 지정해야합니다. :) –