添加属性belongs_to模型

时间:2013-01-24 04:43:42

标签: ruby-on-rails ruby ruby-on-rails-3 entity-relationship

不确定我是否正确行事。有两种模式:

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

并且:团队的迁移包括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>。我甚至不确定这是否是正确的方法,或者我是否过于复杂。

1 个答案:

答案 0 :(得分:2)

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

team.division.name

另外,你的模型中有一个拼写错误(你会在像Java这样的静态类型语言中错过这种错误。在Ruby中你必须编写测试,大量的测试)< / p>

belongs_to :divison