在我的 Rails 模型中,我有一个description
方法:
def description
if self.channels.nil?
return self.allowed_ip_addresses
else
return self.channels.to_s + ' channels - ' + self.allowed_ip_addresses
end
end
我有很多模型,我在其中创建了一个description
方法,该方法根据该模型的其他属性返回一些有用的信息。
我刚刚意识到的问题是,这个模型特别是description
在它的表中有一个列,所以我只是想知道解决这个问题的最佳方法,我环顾四周,但没有发现任何有用的东西。
我想到的第一件事就是在调用时传递一个参数description
,例如
def description(table_value = 0)
if table_value
return self.description
end
if self.channels.nil?
return self.allowed_ip_addresses
else
return self.channels.to_s + ' channels - ' + self.allowed_ip_addresses
end
end
但很快意识到这是没有意义的,因为它只会description
递归地调用该方法并死掉(假设 a1
与调用一起传递给description
)。
我也可以更改表列名称,但它在其他地方使用,所以我只是想看看是否有替代解决方案。