這是一個問題。我有一個資源Project
其中has_many
Feeds
。當我在項目頁面上查看嵌套Feed的列表時,我有一個Delete
按鈕用於從項目中刪除該Feed。它的工作原理與此語法: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,我改變了重定向線:back
def destroy
project = Project.find(params[:project_id])
@feed = project.feeds.find(params[:id])
@feed.destroy
redirect_to :back
respond_to do |format|
format.html { redirect_to :back }
format.xml { head :ok }
end
end
要銷燬的資源是Feed對象,因此我轉到了feeds_controller.rb並將重定向添加到了destroy方法中。這個錯誤是:'在這個動作中多次調用渲染和/或重定向。請注意,您只能調用渲染或重定向,並且每次最多隻能調用一次.' – Paul
您可以將此操作的代碼添加到您的問題中。 –
@Paul:這個錯誤意味着你可能假設'redirect_to'(和/或'render')返回控制器動作......實際上,你需要做這樣的事情:'redirect_to:back and return' (之後立即從方法返回)。 –