Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4-显示来自不同模型的值时的对象引用输出_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails 4-显示来自不同模型的值时的对象引用输出

Ruby on rails Rails 4-显示来自不同模型的值时的对象引用输出,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我有三个模型:团队、球员和所有权。他们的关系是这样的: <%= form_for @ownership do |f| %> <p> <%= f.label :team_id %><br> <%= @ownership.team.name %> </p> <p><%= f.label :player_id %><br> <%= f.collection_select(:player_

我有三个模型:团队、球员和所有权。他们的关系是这样的:

<%= form_for @ownership do |f| %>
<p>
<%= f.label :team_id %><br>
<%= @ownership.team.name %>
</p>

<p><%= f.label :player_id %><br>
<%= f.collection_select(:player_id, Player.all, :id, :name)%>
</p>
<p>
<%= f.submit %>
</p>

<% end %>
team.rb

class Team < ActiveRecord::Base
  has_many :ownerships
  has_many :players, through: :ownerships 

  validates :name, presence: true
  validates :division, presence: true
end
当我更新所有权时,当我向团队展示(show.html.erb)时,玩家显示得很好。但是当我显示players索引视图时,我从中得到了奇怪的输出。团队分配正在工作,但是,团队名称会显示为

 #<Team:0x007f8f37a76f20> and #<Team:0x007f8f37a4c360>. 
来自players_controller.rb的索引操作是基本的:

def index
@players = Player.all
end
我选择球员的方式重要吗?我在所有权编辑表单中使用的下拉菜单如下所示:

<%= form_for @ownership do |f| %>
<p>
<%= f.label :team_id %><br>
<%= @ownership.team.name %>
</p>

<p><%= f.label :player_id %><br>
<%= f.collection_select(:player_id, Player.all, :id, :name)%>
</p>
<p>
<%= f.submit %>
</p>

<% end %>





您能粘贴使用
player.team.name时得到的准确错误吗?#是一个对象引用。请发布玩家“索引”操作的控制器代码。让我们确保我们在这里涵盖了所有基础:查看schema.rb文件,其中定义了teams表。名称有一个列定义,是吗?
是否正确显示团队名称?是的,团队表有一个名称列,在ownership index.html.erb视图中工作正常。能否粘贴使用
player.team.name
时出现的准确错误?#是一个对象引用。请发布玩家“索引”操作的控制器代码。让我们确保我们在这里涵盖了所有基础:查看schema.rb文件,其中定义了teams表。名称有一个列定义,是吗?
是否正确显示团队名称?是的,团队表有一个名称列,在ownership index.html.erb视图中工作正常。
<% @players.each do |player| %>
   <tr>
   <td></td>
    <td><%= player.name %></td>
    <td><%= player.position %></td>
    <td><%= player.team %></td>
  </tr>
  <% end %>
undefined method `name' for nil:NilClass
def index
@players = Player.all
end
<%= form_for @ownership do |f| %>
<p>
<%= f.label :team_id %><br>
<%= @ownership.team.name %>
</p>

<p><%= f.label :player_id %><br>
<%= f.collection_select(:player_id, Player.all, :id, :name)%>
</p>
<p>
<%= f.submit %>
</p>

<% end %>