【发布时间】:2011-11-15 20:25:36
【问题描述】:
In a question I've previously answered,我使用关联扩展来覆盖 HABTM 集合的附加 (<<) 方法(另外,a similar question):
has_and_belongs_to_many(:countries) do
def <<(country)
if [*country].all? {|c| c.is_a?(String) }
countries = Country.where(:code => country)
concat(*countries)
else
concat(country)
end
end
end
这可能不被鼓励,但我的问题是,如果可能的话,如何覆盖赋值运算符,以便我可以用相同的结果执行countries = ['IL', 'US']?
【问题讨论】:
-
您能再解释一下吗?我真的不知道你想做什么
-
这个想法是建立一个集合关系,我可以为其分配一个对象数组 (
[obj1, obj2, ...]) 和一个对象键数组 ([key1, key2, ...])。
标签: ruby-on-rails ruby activerecord overriding