2

所以我在顶部有一个 Bootstrap 导航栏。

我想链接到 current_user 的编辑路径,但我总是收到错误:

ActionController::RoutingError at /blog

No route matches {:action=>"edit", :controller=>"users"}

这就是我目前正在尝试的:

<% if current_user %> <--! user logged in? -->
<% @user ||= current_user %> 
<%= link_to 'Settings', edit_user_path  %>
<% end %>

我在 /user/1/ 页面上没有这个错误,但我在其他任何地方都有这个错误。

也试过这个,但没有帮助:

def edit
  if params[:id]
    @user = User.find(params[:id])
  else
    @user = current_user
  end
end
4

2 回答 2

7

尝试这个,

<%= link_to 'Settings', edit_user_path(current_user)  %>
于 2013-03-14T11:19:54.577 回答
0

edit_user_path需要将用户记录传递到路径,因此请执行以下操作

<% if current_user %> <--! user logged in? -->
  <%= link_to 'Settings', edit_user_path(current_user) %>
<% end %>
于 2013-03-14T11:20:51.170 回答