我是 Rails 框架的新手,并且尝试了很长时间来解决这个问题......我想显示某个用户所属的团队名称,它适用于 show 操作(用户详细信息),但不适用于 index 操作(所有用户)
我创建了表格:
teams users
----------- ---------------
id (integer) id(integer)
name (string) fname(string)
lname(string)
team_id(integer)
我有以下课程:
class Team < ActiveRecord::Base class User < ActiveRecord::Base
attr_accessible :name, :user_id attr_accessible :fname, :lname, :team_id
has_many :users belongs_to :team
然后我有以下用户控制器:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def index
@users = User.paginate(page: params[:page], per_page: 15)
end
..显示用户团队名称的代码是
Team: <%= @user.team[:name] %>
...效果很好...但是,当我尝试在索引视图中使用相同的代码时,像这样,我收到错误“nil:NilClass 的未定义方法‘团队’”。
<table class="table table-striped">
<% @users.each do |user| %>
<tr>
<td>
<%= "#{user.fname} #{user.lname}" %>
</td>
<td>
Team: <%= @user.team[:name] %>
</td>
</tr>
<% end %>
</table>
我做错了什么?感谢您的帮助,我将不胜感激!