2014-10-29 46 views
0

元素可以通过多态关联元素与不同模型关联。因为我想要使用嵌套窗体,所以我必须为不同的模型建立关联(关联element_recommendation)。未更改的关联条件

下面的代码按预期工作:

class Element < ActiveRecord::Base  
    belongs_to :elementable, :polymorphic => true, :dependent => :destroy 

    belongs_to :element_recommendation, ->(element) { 
    if element.elementable_type == 'ElementRecommendation' 
    where('true = true') 
    else 
    none 
    end }, :class_name => "ElementRecommendation", :foreign_key => "elementable_id" 
    [..] 

但是我不满意在element_recommendation协会拉姆达。这是一个全或无关联。 - 部分是可识别的,但将其视为-部分不明显。我怎样才能让其中('true = true')可识别?

回答

0

我发现当我在写这个问题的解决:

belongs_to :element_recommendation, ->(element) { 
    if element.elementable_type == 'ElementRecommendation' 
    self 
    else 
    none 
    end }, :class_name => "ElementRecommendation", :foreign_key => "elementable_id"