基本上我想将Ruby Block存储到DB中并使用它们。
有人可能会问为什么 - 理由是,我希望我的用户能够发布/上传一个块代码 - 可以执行该代码以获取他们可能拥有的数据上的问题所需的结果。
答案 0 :(得分:4)
所以你不想存储红宝石块。您想存储代码。这更容易。只需将代码存储为字符串即可。然后你可以eval
该字符串,有效地执行代码。
现在您必须解决一个难题:如何防止用户发布恶意代码(或如何沙箱化)。但这超出了范围。
答案 1 :(得分:1)
首先,将您的代码存储为字符串(ruby2ruby gem可能会帮助您)。当您需要执行此块时,从DB中检索它,并使用“eval”方法