我的情况应该是相当简单的 link_to
情况:
<% @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 %>
但是,当我单击此链接时,它会将我带到 jokes#show
页面,而不是 jokes#edit
页面。这是我的路线:
jokes GET /jokes(.:format) jokes#index
POST /jokes(.:format) jokes#create
new_joke GET /jokes/new(.:format) jokes#new
edit_joke GET /jokes/:id/edit(.:format) jokes#edit
joke GET /jokes/:id(.:format) jokes#show
PATCH /jokes/:id(.:format) jokes#update
PUT /jokes/:id(.:format) jokes#update
DELETE /jokes/:id(.:format) jokes#destroy
有人能看出我哪里出错了吗?这看起来很简单,但它并没有按照应有的方式工作。
其他信息
这是我的 jokes_controller
中的 edit
操作:
def edit
@joke = Joke.find(params[:id])
@joke.user = current_user
@joke.save
redirect_to joke_path
end
最佳答案
按照jokes_controller.rb
中的以下代码
def edit
@joke = Joke.find(params[:id])
@joke.user = current_user
@joke.save
redirect_to joke_path
end
redirect_to joke_path
导致了该问题。
因此,在您的编辑
操作中删除或注释以下行即可解决您的问题。
redirect_to joke_path
关于ruby-on-rails - Rails `edit_joke_path` 链接到显示 View ,而不是编辑 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38734676/