이것은 중요한 문제입니다. 나는 Project
이 has_many
Feeds
인 자원을 가지고있다. 프로젝트 페이지에서 중첩 된 피드 목록을 볼 때 해당 피드를 프로젝트에서 제거하려면 Delete
단추가 있습니다.Ruby on Rails link_to : method => : 구문을 삭제하십시오.
<%= link_to 'Delete', [feed.project, feed], :confirm => 'Are you sure?', :method => :delete %>
을하지만 그 후 모든 피드 목록 페이지로 지시하고, 내가 대신 다시 사용자가 단지 있었다 프로젝트 페이지로 리디렉션 할 : 그것은이 구문을 사용하여 작동합니다. 그것은 변화의 문제입니까 [feed.project, feed]
또는 다른 뭔가입니까? 나는 아직 충분히 link_to
의 구문을 이해하지 못합니다.
편집 : 내 feeds_controller.rb에서 , 나는 컨트롤러
def destroy
@project = Project.find(params[:project_id])
@feed = @project.feeds.find(params[:id])
@feed.destroy
redirect_to @project
end
파괴 할 리소스가 Feed 개체이므로 feeds_controller.rb에 가서 destroy 메서드에 리디렉션을 추가했습니다. 이 오류로 인해 '렌더링 및/또는 리디렉션이이 작업에서 여러 번 호출되었습니다. 렌더링 또는 리디렉션 만 호출 할 수 있으며 동작마다 한 번만 호출 할 수 있습니다. ' – Paul
이 작업의 코드를 질문에 추가 할 수 있습니까? –
@Paul :이 에러는 여러분이 아마도'redirect_to' (그리고/또는'render')가 컨트롤러 액션에서 돌아올 것이라고 가정하고 있음을 의미합니다. 실제로, 당신은'redirect_to : back and return'과 같은 것을 할 필요가 있습니다. (메서드에서 바로 반환하기 위해). –