路由到current_user路径

时间:2013-03-14 11:16:44

标签: ruby-on-rails ruby ruby-on-rails-3.2

所以我在顶部有一个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

2 个答案:

答案 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 %>