所以我在顶部有一个Bootstrap导航栏。
我想link_to 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 / page没有这个错误,但我在其他任何地方都有这个错误。
也尝试了这个,但没有帮助:
def edit
if params[:id]
@user = User.find(params[:id])
else
@user = current_user
end
end
答案 0 :(得分:7)
试试这个,
<%= link_to 'Settings', edit_user_path(current_user) %>
答案 1 :(得分:0)
edit_user_path
要求将用户记录传递给路径,以便执行以下操作
<% if current_user %> <--! user logged in? -->
<%= link_to 'Settings', edit_user_path(current_user) %>
<% end %>