1

我的代码看起来像这样

  #     record[field_name] = get_children(field_name)
  eval "record.#{field_name} = get_children(field_name)"

record是一个ActiveRecord子类,所讨论的字段是一个has_a关系。注释行不起作用(虽然它似乎,但分配没有发生)。

没有我怎么能做到这一点eval

4

1 回答 1

0

可能有一种更 Railsy 的方式来做到这一点,但至少你可以eval通过使用send(来自Object)消除所有 Object 实例都有:

record.send "#{field_name}=", get_children(field_name)
于 2011-08-22T13:33:24.930 回答