如何从ActiveRecord记录返回绑定?

时间:2012-05-15 14:09:28

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord

我有一些代码存储在字符串中,我想在特定记录的上下文中运行它。

我想做这样的事情:

class Dog < ActiveRecord::Base
  # has the attributes name and age
end

a_dog = Dog.first

some_code = "puts name"

eval some_code, a_dog.get_binding

这将打印出第一只狗的名字。我知道get_binding方法不对,但我认为这个名字展示了我想要做的事情。

另外,我知道我不应该这样做,我只是想知道我是否有办法:)

1 个答案:

答案 0 :(得分:3)

您可以使用instance_eval方法来评估接收方上下文中的代码字符串。

a_dog = Dog.first
a_dog.instance_eval('puts name')
snuppy
 => nil