【发布时间】:2011-02-27 23:51:06
【问题描述】:
我正在尝试手动构建用户模型(不使用 routes.rb 文件中的“资源:用户”)。我的 routes.rb 文件如下所示:
match '/users/:id', :to => 'users#show'
match '/all_users', :to => 'users#index'
这是我在用户控制器中的索引方法:
def index
@title = "All users"
@users = User.paginate(:page => params[:page])
end
这是我的索引视图:
<h1>All users</h1>
<%= will_paginate %>
<ul class="users">
<% @users.each do |user| %>
<li>
<%= link_to user.email, user %>
</li>
<% end %>
</ul>
<%= will_paginate %>
当我点击 localhost:3000/all_users: 时收到此错误消息:
undefined method `user_path'
我不明白这是从哪里来的。
编辑:
好的,我发现在视图中将 'user' 更改为 '@user' 可以正常工作:
<%= link_to user.email, @user %>
但是我真的不明白错误信息,或者'user'和'@user'之间的真正区别。另外,点击创建的链接不会重定向到用户的页面,它停留在 localhost:3000/all_users。
【问题讨论】:
标签: ruby-on-rails