Назначить связанную запись без Eval (Rails 2.x) - PullRequest
1 голос
/ 22 августа 2011

Мой код выглядит так

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

record является подклассом ActiveRecord, а рассматриваемое поле является отношением has_a Закомментированная строка не работает (хотя, кажется, но назначение не имеет места).

Как я могу сделать это без eval?

1 Ответ

0 голосов
/ 22 августа 2011

Для этого может быть более удобный Railsy, ​​но, по крайней мере, вы можете устранить eval, используя send (из Object ), который есть у всех экземпляров Object:

record.send "#{field_name}=", get_children(field_name)
...