5

基本上我想将一个 Ruby 块存储到数据库中并使用它们。

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

4

2 回答 2

4

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

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

于 2013-02-06T07:18:14.660 回答
1

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

于 2013-02-06T07:22:06.857 回答