0

不知道我这样做是否正确。有两种型号:

class Team < ActiveRecord::Base
  attr_accessible :city, :name, :division_id
  belongs_to :divison
  has_many :players
end

class Division < ActiveRecord::Base
  attr_accessible :name
  has_many :teams
end

:teams 的迁移包括一个 foreign_key

create_table :teams do |t|
  t.string :name
  t.string :city
  t.integer :division_id
  t.foreign_key :division, dependent: :delete

  t.timestamps
end

在我的Teams索引视图中,我想division为每个团队添加名称。获取 id 很简单,我只是使用<%= team.division_id %> 但是,我不确定如何获取部门名称。

我尝试将部门添加到每个团队:

@teams.each do |team|
    team.division = Division.find(team.division_id)
end

但这失败了,说:undefined method 'division=' for #<Team:0x3cf2df0>。我什至不确定这是否是正确的方法,或者我是否过于复杂化了事情。

4

1 回答 1

2

既然你有关系,你应该能够做到

team.division.name

此外,您的模型中有错字(在 Java 这样的静态类型语言中,您永远不会错过这种错误。在 Ruby 中,您必须编写测试,大量测试

belongs_to :divison
于 2013-01-24T04:45:40.747 回答