链接不会传递用户的ID

时间:2015-06-29 12:37:58

标签: ruby-on-rails ruby ruby-on-rails-4

链接无法正常工作,并根据控制器方法生成错误Couldn't find User without an ID。我希望下面链接中的adduser_path(@user)能够传递ID。我也在链接中尝试adduser_path(@user.id),但没有区别。这段代码有什么问题?

视图中的链接:

<%= link_to "Add user", adduser_path(@user), { method: :get, role: "button", class: "btn btn-default" } %>

控制器方法:

def add_user
  @user = User.friendly.find(params[:id])
end

在路线中:

get 'adduser'    =>  'users#add_user'
post 'adduser'   =>  'users#post_user'

2 个答案:

答案 0 :(得分:1)

尝试将您的链接更改为:

<%= link_to "Add user", adduser_path(@user.id), { method: :get, role: "button", class: "btn btn-default" } %>

你的路线

get 'adduser/:id'    =>  'users#add_user'
post 'adduser/:id'   =>  'users#post_user'

答案 1 :(得分:1)

尝试以下操作,并发送密钥为id的哈希,如下所示:

<%= link_to "Add user", adduser_path(:id => @user.id), { method: :get, role: "button", class: "btn btn-default" } %>