我的代码看起来像这样
# record[field_name] = get_children(field_name)
eval "record.#{field_name} = get_children(field_name)"
record
是一个ActiveRecord
子类,所讨论的字段是一个has_a
关系。注释行不起作用(虽然它似乎,但分配没有发生)。
没有我怎么能做到这一点eval
?
我的代码看起来像这样
# record[field_name] = get_children(field_name)
eval "record.#{field_name} = get_children(field_name)"
record
是一个ActiveRecord
子类,所讨论的字段是一个has_a
关系。注释行不起作用(虽然它似乎,但分配没有发生)。
没有我怎么能做到这一点eval
?
可能有一种更 Railsy 的方式来做到这一点,但至少你可以eval
通过使用send
(来自Object)消除所有 Object 实例都有:
record.send "#{field_name}=", get_children(field_name)