これには簡単な答えがありますが、私は失われています。多態性の関連付けをビューに表示
私は最初に多面体協会を作ってアクティビティフィールドを作成しました。ここで
がactivity.rbです:活動のためのデータベースで
class Activity < ActiveRecord::Base
belongs_to :trackable, :polymorphic => true
end
、私は列があります。
id
name
trackable_id
trackable_type
created_at
updated_at
はここnote.rbです:私は
class Note < ActiveRecord::Base
has_many :activities, :as => :trackable
after_create :create_an_activity
def create_an_activity
self.activities.build(:name => candidate_id)
end
end
index.html.erbビュー私は持っています:
<% @activities.each do |activity| %>
<p>activity.name</p>
<% end >
私の質問は:名=> candidate_idを:私は持っているので、
は現在、ビュー内のactivity.nameは、IDを出力しています。候補者のメモが作成されます。しかし、私が本当に出力したいものはcandidate.full_name(候補テーブルにあります)です。ただし、full_nameがnotes表にないため、これは機能しません。それは候補者のテーブルにあります。それにアクセスする方法はありますか?候補者はhave_many notesを、候補はbelongs_toを候補とする。
ありがとうございます!それはうまくいった!私はそれを試してみました:name => candidate.full_name、しかしそれは動作しませんでした。 .selfを含めるのを忘れてしまった。私のダム。奇妙なことの1つは、.buildは.createではなく、うまく動作していることです。なぜだろう? (P.S.あなたの親切な言葉をありがとう) –
非常に興味深いですが、私はモンゴイドを実行しています。多分アクティブなレコードとは少し違っていて、長すぎます。もしあなたがそれを理解するなら、私は知りたいと思うだろう。 –