Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails链接到:method=>;:删除语法_Ruby On Rails_Ruby_Link To - Fatal编程技术网

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,哦,我明白了。我被另一条直接添加这一行的评论弄糊涂了。见我的编辑以上我有什么工作。