「チップ」モデルと「チーム」モデルがあります。ユーザーがいくつかのゲームから優勝チームを選択するフォームを作成しようとしています。これまでのところ、ユーザーは勝者のチームを選択でき、それらのIDはTipモデル(team_id)の外部キーとして保存されています。しかし、保存した後、私は(たとえば)@tip.team.nameに行くことができません。私は何をする必要がありますか?どうすれば関連付けることができますか(外国のキーが設定されている場合、レールは魔法のようにそれを行う可能性があります)、私はレールに非常に慣れていません。助けてくれてありがとう!
class Tip < ActiveRecord::Base
attr_accessible :user_id, :team_id, :team, :game_id, :game, :comp, :comp_id
belongs_to :game
belongs_to :comp
belongs_to :team
end
class Team < ActiveRecord::Base
attr_accessible :name
has_many :tips
end
def create
params['game'][0].each do |key, value|
@tip = Tip.new
@tip.team_id = value
@tip.game_id = key
@tip.save
end
この最後の方法も面倒かもしれませんが、他にどのように行うかはわかりません。1つのフォームで作成したいいくつかの「ヒント」があります。
編集:明確にするために、私はそれが1対多の関係であると確信しています。私は1つのフォームでいくつかのヒントを作成していますが、各ヒントは1つのチームにのみ関連しています。
編集:実際、私のアプローチ(これは最善の方法に近いとは言えませんが、tip.team.nameを許可しました。テストデータに関連するばかげたエラーで、他のことを考えさせられました。