0
这可能有一个简单的答案,但我迷路了。在视图中显示多态关联
我今天创建了我的第一个Polymorphic Association来创建一个activity域。
这里的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不在注释表中。它在候选人桌上。有什么方法可以访问吗?候选人拥有多个笔记,并且笔记属于候选人。
非常感谢!这工作!我试过它:name => candidate.full_name,但没有奏效。我忘了包括自己。我愚蠢。有一件很奇怪的事情是.build工作得很好,而不是.create。我想知道为什么? (P.S.谢谢你的友好的话) – 2012-02-28 14:28:46
嗯,非常有趣,我正在运行mongoid,也许它与积极的记录略有不同,它太长了。如果你知道我有兴趣知道。 – 2012-02-28 20:43:03