작업 관리 응용 프로그램 사용자로서 작업의 "완료 됨"링크를 클릭하여 완료된 작업의 해상도를 기록하고 싶습니다.AJAX를 통해 레일스 3에서 간단한 링크 (link_to)로 모델 속성 업데이트
레일즈 3 방식의 UJS (Unobtrusive JavaScript)를 사용하여 AJAX 요청이되고 싶습니다. 나는 꽤 오랫동안 이것을 디버깅 해왔다. 그래서 어떤 도움도 크게 감사 할 것이다. 내 작업 컨트롤러의 업데이트 방법 여기
<%= link_to "Completed", task_path(:id => task.id, :resolution => "completed"), :remote => true, :method => :put %>
을 그리고있다 : 여기
내가보기 내에서 제작하고있는 LINK_TO 호출입니다class TasksController < ApplicationController
respond_to :js
def update
@task = Task.find(params[:id])
@task.update_attributes(params[:task])
respond_with(@task)
end
end
크롬의 개발 도구를 사용하여 네트워크 트래픽을보고 그 put/put 요청이 URL 매개 변수 (tasks/{: id}? resolution = completed)를 포함하여 올바른 URL에 생성되었지만 미리보기에 다음 오류 메시지가 표시됩니다.
Template is missing
Missing template tasks/update, application/update with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder, :coffee]}.
Searched in: * "C:/Documents and Settings/Corey Quillen/My Documents/Software Engineering/Projects/Cleaner Card/cleaner_card/app/views"
응답 해 주셔서 감사합니다. 그 오류를 없애 버렸지 만 속성은 여전히 데이터베이스에서 업데이트되지 않습니다. 컨트롤러에서 뭔가를 변경해야합니까? –
컨트롤러에서 params를 디버깅 해보십시오. 컨트롤러에 전달 된 매개 변수를 붙여 넣을 수 있습니까? – varunvlalan
나는 속성을 업데이트하기 위해 숨겨진 양식 필드에 숨겨진 양식을 삽입하기로 결정했습니다. 당신의 도움을 주셔서 감사합니다. –