如何在数据库中存储和使用ruby块?

如何在数据库中存储和使用ruby块?,ruby,block,Ruby,Block,基本上,我想将Ruby块存储到DB中并使用它们 有人可能会问为什么——原因是,我希望我的用户能够发布/上传一个块代码——可以执行该代码,以获取针对我们可能拥有的数据的问题的所需结果。所以您不想存储ruby块。您想要存储代码。这比较容易。只需将代码存储为字符串。然后,您可以使用该字符串,有效地执行代码 现在您必须解决一个难题:如何防止用户发布恶意代码(或如何对其进行沙箱)。但这超出了本文的范围。首先,将代码存储为字符串(可能会对您有所帮助)。当您需要执行此块时,请从DB中检索它,并使用“”方法感谢

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


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

所以您不想存储ruby块。您想要存储代码。这比较容易。只需将代码存储为字符串。然后,您可以使用该字符串,有效地执行代码


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

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

感谢Sergio的快速响应。是的-在系统选择块代码进行评估之前,我们将从“管理”面板中批准代码。@Kannar,关于安全,在给建议的人的评论中,这可能会帮助管理员突出显示列表中潜在的危险代码,这样他们就不会错过它。如果您想删除并执行用户提交的代码,对…做些调查是个好主意。