如何在db中存储ruby块并使用它们?

时间:2013-02-06 07:15:49

标签: ruby block

基本上我想将Ruby Block存储到DB中并使用它们。

有人可能会问为什么 - 理由是,我希望我的用户能够发布/上传一个块代码 - 可以执行该代码以获取他们可能拥有的数据上的问题所需的结果。

2 个答案:

答案 0 :(得分:4)

所以你不想存储红宝石块。您想存储代码。这更容易。只需将代码存储为字符串即可。然后你可以eval该字符串,有效地执行代码。

现在您必须解决一个难题:如何防止用户发布恶意代码(或如何沙箱化)。但这超出了范围。

答案 1 :(得分:1)

首先,将您的代码存储为字符串(ruby2ruby gem可能会帮助您)。当您需要执行此块时,从DB中检索它,并使用“eval”方法