0

私がこれを正しく行っているかどうかはわかりません。2 つのモデルがあります。

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の名前を追加したいと思います。divisionid を取得するのは簡単です。使用するだけ<%= 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 に答える