Rails

时间:2016-07-23 19:16:32

标签: ruby-on-rails routing

我在show视图中有这个代码:

<% if @user == current_user || is_admin? %>
    <%= link_to edit_user_path(@user), :class => "btn btn-default" do %>
        <span class="glyphicon glyphicon-pencil"></span> Uredi informacije
    <% end %>
<% end %>

这个用于编辑用户个人资料的自定义路线:

get "/korisnik/:id/uredi" => "users#edit", as: "edit_user_path"

但是,当我想编辑用户信息时,它仍会将我重定向到/users/:id/edit。我尝试使用edit_user_path(:id)edit_user_path(user),但它不起作用(显示无效的路由错误)。这个自定义路线需要什么参数?

2 个答案:

答案 0 :(得分:2)

尝试修改routes.rb中的代码,如下所示

get "/korisnik/:id/uredi" => "users#edit", as: :edit_user

无需在别名或命名路由的末尾添加_path。 rails会自动为你做

答案 1 :(得分:0)

只需从您的路线中删除'as'部分,简单地将其作为

get "/korisnik/:id/uredi" => "users#edit"

并使用bundle exec rake routes

检查新创建的路线
相关问题