Ruby on rails RubyonRails链接到:method=>;:删除语法
这是一个核心问题。我有一个资源Ruby on rails RubyonRails链接到:method=>;:删除语法,ruby-on-rails,ruby,link-to,Ruby On Rails,Ruby,Link To,这是一个核心问题。我有一个资源项目,它有许多提要。当我在项目页面上查看嵌套提要列表时,我有一个Delete按钮从项目中删除该提要。它使用以下语法: <%= link_to 'Delete', [feed.project, feed], :confirm => 'Are you sure?', :method => :delete %> 在控制器中 def destroy @project = Project.find(params[:project_id]) @
项目
,它有许多提要
。当我在项目页面上查看嵌套提要列表时,我有一个Delete
按钮从项目中删除该提要。它使用以下语法:
<%= link_to 'Delete', [feed.project, feed], :confirm => 'Are you sure?', :method => :delete %>
在控制器中
def destroy
@project = Project.find(params[:project_id])
@feed = @project.feeds.find(params[:id])
@feed.destroy
redirect_to @project
end
在控制器中
def destroy
@project = Project.find(params[:project_id])
@feed = @project.feeds.find(params[:id])
@feed.destroy
redirect_to @project
end
您必须查看此资源的控制器。它应该在类似于
app/controllers/projects\u controller
的地方,那里应该有一个名为destroy
的操作。执行重定向的代码必须在其中。您必须更改以下行:
redirect_to project_feeds_url(project)
对此
redirect_to :back
您必须查看此资源的控制器。它应该在类似于
app/controllers/projects\u controller
的地方,那里应该有一个名为destroy
的操作。执行重定向的代码必须在其中。您必须更改以下行:
redirect_to project_feeds_url(project)
对此
redirect_to :back
这样做会导致
无法重定向到nil代码>错误。这应该在我的feeds\u控制器中,对吗?当我点击删除按钮时,我看到的页面类似于http://localhost:3000/projects/1
。它仍然是提要控制器,因为它是一个提要对象吗?这样做会导致无法重定向到nil代码>错误。这应该在我的feeds\u控制器中,对吗?当我点击删除按钮时,我看到的页面类似于http://localhost:3000/projects/1
。它仍然是提要控制器,因为它是一个提要对象吗?要销毁的资源是提要对象,所以我转到feeds_controller.rb并将重定向添加到destroy方法中。此错误导致:Render和/或redirect在此操作中被多次调用。请注意,您只能调用render或redirect,每个操作最多只能调用一次。
@Paul:该错误意味着您可能假设redirect\u to
(和/或render
)返回控制器操作之外。。。实际上,你需要这样做:redirect\u to:back和return
(之后立即从方法返回)。@Paul:你不应该添加redirect\u to:back
行,它必须替换动作代码中已有的redirect\u to…
。@Nicolas,哦,我明白了。我被另一条直接添加这一行的评论弄糊涂了。请参阅上面的编辑,了解我的工作内容。要销毁的资源是提要对象,因此我转到feeds_controller.rb并将重定向添加到destroy方法中。此错误导致:Render和/或redirect在此操作中被多次调用。请注意,您只能调用render或redirect,每个操作最多只能调用一次。
@Paul:该错误意味着您可能假设redirect\u to
(和/或render
)返回控制器操作之外。。。实际上,你需要这样做:redirect\u to:back和return
(之后立即从方法返回)。@Paul:你不应该添加redirect\u to:back
行,它必须替换动作代码中已有的redirect\u to…
。@Nicolas,哦,我明白了。我被另一条直接添加这一行的评论弄糊涂了。见我的编辑以上我有什么工作。