我应该是一个相当简单的<% @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
页面。这是我的路线:
edit
任何人都可以看到我出错的地方吗?这看起来很简单,但它没有按照预期的方式工作。
附加信息
这是我jokes_controller
的{{1}}行动:
def edit
@joke = Joke.find(params[:id])
@joke.user = current_user
@joke.save
redirect_to joke_path
end
答案 0 :(得分:1)
edit_joke_path(joke)
开玩笑#dog但在编辑功能结束时你添加了 redirect_to 。从编辑功能中删除redirect_to。
redirect_to:将浏览器重定向到指定目标
答案 1 :(得分:1)
根据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
导致问题。
因此,请在edit
操作中删除或评论以下一行,以解决您的问题。
redirect_to joke_path
答案 2 :(得分:0)
从您的操作中删除redirect_to joke_path
。那是带你去节目页面。