这是一个小问题。我有Project
has_many
的资源Feeds
。当我在Project页面上查看嵌套Feeds列表时,我有一个Delete
按钮从项目中删除该Feed。它适用于这种语法:
<%= link_to 'Delete', [feed.project, feed], :confirm => 'Are you sure?', :method => :delete %>
但是然后它会指向列出所有Feed的页面,而我希望它重定向回用户所在的Project页面。这是改变[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
答案 0 :(得分:1)
您必须查看此资源的控制器。它应该在app/controllers/projects_controller
之类的地方,应该有一个名为destroy
的动作。执行重定向的代码必须在那里。您必须更改以下行:
redirect_to project_feeds_url(project)
到这个
redirect_to :back
答案 1 :(得分:0)
def destroy
@project = Project.find(params[:project_id])
@feed = @project.feeds.find(params[:id])
@feed.destroy
redirect_to @project
end