【发布时间】:2014-09-30 15:53:05
【问题描述】:
我想测试一个多态孩子是否属于父母。
@event.eventable_id == @current_user.id and @event.eventable_type == current_user.class.name
现在这很难看,不应该出现在这样的视图中。但我想为每个多态对象做这个检查。所以我需要一种元编程的方式来弄清楚多态关系表的命名方案。
phone to phonable
social to sociable
etc.
这个方法看起来很棒。
if @event.belongs_to(current_user) #<NoMethodError: undefined method `belongs_to' for #<Event:
所以我需要一个辅助方法来检查多态关系。如果我能得到任何像这样的多态孩子的名字方案
@event.polymorphic_relationship_table_name
然后我可以将它合并到一个元编程助手中。如果已经为此构建了解决方案,请告诉我。
【问题讨论】:
标签: ruby-on-rails metaprogramming polymorphism