Ruby on rails通过使用多态关联来解决问题

时间:2014-05-26 19:41:48

标签: ruby-on-rails ruby-on-rails-4 associations has-many-through polymorphic-associations

我在使用has_many来解决问题和多态关联时遇到问题。

所以我有3个型号并关注此处: https://gist.github.com/andreorvalho/5c2f0e3800fbb126df85

我的问题是当我创建比赛并且做:

competition.content_permission_sources我得到了所有正确的值,但是当我这样做时 竞争。 permission_sources我得到一个空的集合代理,即使content_permission_source有一个permission_source:

2.1.1 :022 > c.content_permission_sources
 => #<ActiveRecord::Associations::CollectionProxy [#<ContentPermissionSource id: 1, permissible_id: 1, permissible_type: "Competition", permission_source_id: 5, is_forced: nil, created_at: "2014-05-26 19:08:40", updated_at: "2014-05-26 19:08:40">, #<ContentPermissionSource id: 2, permissible_id: 1, permissible_type: "Competition", permission_source_id: 4, is_forced: nil, created_at: "2014-05-26 19:08:40", updated_at: "2014-05-26 19:08:40">, #<ContentPermissionSource id: 3, permissible_id: 1, permissible_type: "Competition", permission_source_id: 6, is_forced: nil, created_at: "2014-05-26 19:08:40", updated_at: "2014-05-26 19:08:40">]> 
2.1.1 :023 > c.permission_sources
 => #<ActiveRecord::Associations::CollectionProxy []> 
2.1.1 :024 > c.content_permission_sources.first.permission_source
 => #<PermissionSource id: 5, collectable_id: 1, collectable_type: "Site", source_code: 690089, source_name: "fallback", permission_type: "newsletter", country_code: "dk", created_at: "2014-05-26 19:03:01", updated_at: "2014-05-26 19:03:01"> 

任何人都知道我做错了什么,我怎样才能确保我能正确访问它?

0 个答案:

没有答案