【问题标题】:Routing to current_user path路由到 current_user 路径
【发布时间】:2013-03-14 11:16:43
【问题描述】:

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

我想链接到当前用户的编辑路径,但我总是收到错误:

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

【问题讨论】:

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


    【解决方案1】:

    试试这个,

    <%= link_to 'Settings', edit_user_path(current_user)  %>
    

    【讨论】:

    • 不得不做的事情,但我们走了:)
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 2017-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      相关资源
      最近更新 更多