중첩 작업이있는 List 개체가 있습니다. 개별 작업을 표시하는 페이지와 개별 작업을 편집 할 수있는 페이지를 만들었습니다. 이제는 작업 편집 페이지의 목록에서 작업을 삭제하는 기능을 추가하려고합니다. 다음 코드중첩 된 리소스에 대한 레일스 폐기 방법이 잘못되었습니다.
<%= link_to 'Delete this task',@task, confirm: 'Are you sure?', method: :delete %>
를 사용하면이 코드는 내가 @task이 작업에 저장된 모든 데이터를 표시하는 호출 show.html.erb 페이지에
undefined task_path method
산출, 그래서 나는 믿는다 이 문제는 일종의 라우팅 오류 일 수 있습니다. 그러나이를 파악할 수는 없습니다.
'관련 제어 방법은
def destroy
@task = Task.find(params[:id])
@task.destroy
respond_to do |format|
format.html { redirect_to list_tasks_path(@task) }
format.json { head :ok }
end
end
내가 삭제 방법 내가 제공 한 @task 그냥 PARAMS을 통해 파괴하는 방법으로 전송 될 것이라고 생각하지만,이 오류는이 ISN을 보여주는 것 같다 정확히 어떻게 작동하는지. 그렇다면 어떻게 레일스에서 중첩 된 리소스를 적절하게 파괴 할 수 있습니까?
편집 :
MyApp::Application.routes.draw do
resources :lists do
resources :tasks
end
get "home/index"
root :to => 'home#index'
end
여러분의 도움에 감사드립니다 : 여기에 중첩 된 자원 경로 파일입니다!
경로 문제이므로 'routes.rb'를 질문에 추가하십시오. – Mischa