Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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 Rails'edit\u\u path'链接到显示视图,而不是编辑视图_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails'edit\u\u path'链接到显示视图,而不是编辑视图

Ruby on rails Rails'edit\u\u path'链接到显示视图,而不是编辑视图,ruby-on-rails,Ruby On Rails,我有一个相当简单的链接到情况: <% @jokes.each do |joke| %> ... <%= link_to edit_joke_path(joke) do %> <span style="color: blue" class="glyphicon glyphicon-pencil" aria-hidden="true"></span><span style="color: blue">Edit Joke<

我有一个相当简单的链接到情况:

<% @jokes.each do |joke| %>
  ...
  <%= link_to edit_joke_path(joke) do %>
    <span style="color: blue" class="glyphicon glyphicon-pencil" aria-hidden="true"></span><span style="color: blue">Edit Joke</span>
  <% end %>
  ...
<% end %>
有人能看出我哪里做错了吗?这看起来很简单,但它没有按应有的方式工作

其他信息

以下是我的
控制器的
编辑
操作:

 def edit
    @joke = Joke.find(params[:id])
    @joke.user = current_user
    @joke.save
    redirect_to joke_path
  end

从您的操作中删除
重定向到笑话路径
。这将带你进入展示页面

edit_joke_path(joke)
转到笑话#编辑,但在编辑功能的末尾,您添加了重定向到。从编辑功能中删除重定向到

重定向到:将浏览器重定向到指定的目标


根据
u controller.rb中的以下代码

 def edit
    @joke = Joke.find(params[:id])
    @joke.user = current_user
    @joke.save
    redirect_to joke_path
  end
重定向到笑话路径
导致问题

所以,在
edit
操作中删除或注释下面的行,它将解决您的问题

redirect_to joke_path

您的代码是当前代码,请提供
控制器.rb
@hgsongra,nope中的
编辑
操作代码。即使重新启动后,它仍然会转到
显示
页面。我更新了我的评论,请查看并提供details@hgsongra,它被添加到OP中。这里是问题
重定向到笑话路径
此代码在更新Objective后将页面重定向到
笑话#显示
。这将很好地解释为什么这会纠正他的问题。我的意思是说他不需要重定向,因为rails会将动作名称与视图匹配,并呈现
编辑
视图自动地这就是为什么去掉你提到的那条线就能解决问题。
redirect_to joke_path