게시 # 새 작업에 대한 양식을 자동 저장하려고합니다. 매분마다 POST로 자동 저장을하고 싶습니다. 그런 다음 first_or_create를 확인하고 게시 테이블에 레코드를 저장/업데이트합니다. 내 문제는, 더 이상 양식에서 POST 매개 변수에 액세스 할 수 있습니다. 그래서 같은 그것을 할 노력하고 있어요 : 행동과 : 컨트롤러AJAX로 레일스에서 양식 자동 저장
post 'posts/autosave', as: :autosave_post_path
문제는이 서버 로그가있는 params만을 포함하는 등의 해시를 보여줍니다
$(function() {
if ($("#new_post").length > 0) {
setTimeout(autoSavePost, 60000);
}
});
function autoSavePost() {
$.ajax({
type: "POST",
url: "/posts/autosave",
dataType: "script",
success: function(data) {
console.log(data);
}
});
setTimeout(autoSavePost, 60000);
}
나는이 경로가 있습니다. POST 데이터의 일부로 전송 된 것과 동일한 액세스 권한을 얻으려면 어떻게해야합니까?
당신은 사람이다! 정말 고마워. 내가 연결 한 문서를 살펴 보았습니다. 정확히 무엇을하고 있는지 명확하지 않습니다. 요약하면 더 깊이 이해할 수있는 기회가 있습니까? 다시 한번 감사드립니다. – mackshkatz
".serialize() 메소드는 표준 URL 인코딩 표기법으로 텍스트 문자열을 생성합니다."즉, 양식 내용을'param1 = value1 & param2 = value2 & ... & paramN = valueN'으로 직렬화하면, 레일스는이를 직렬화하여 객체로 다시 직렬화합니다 . – moonwave99
@mackshkatz serialize는 폼의 모든 양식 요소에 대해 루핑으로 생각하고 하나의 긴 문자열로 제출할 데이터를 수집하는 것으로 생각할 수 있습니다. 이것은 POST 요청에서 레일즈 컨트롤러로 전송됩니다. GET 요청 인 경우 양식 필드에 입력 된 값을 기반으로 쿼리 문자열을 생성하는 것과 동일합니다. – ChrisC