ruby-on-rails – 如何验证Markdown?
发布时间:2020-12-16 22:48:19 所属栏目:百科 来源:网络整理
导读:可以使用无效语法编写 Markdown内容.无效意味着 BlueCloth库无法解析内容并引发异常. Rails中的markdown帮助程序不会捕获任何BlueCloth异常,因此完整页面无法呈现(而是呈现500 Server Error页面). 在我的例子中,允许用户编写Markdown内容并将其保存到数据库
可以使用无效语法编写
Markdown内容.无效意味着
BlueCloth库无法解析内容并引发异常. Rails中的markdown帮助程序不会捕获任何BlueCloth异常,因此完整页面无法呈现(而是呈现500 Server Error页面).
在我的例子中,允许用户编写Markdown内容并将其保存到数据库中.如果某人使用了无效语法,则该内容的所有连续呈现尝试都将失败(状态码500 – 内部服务器错误). 你是如何解决这个问题的?在保存到数据库之前,是否可以在模型级验证Markdown语法? 解决方法
您应该编写自己的验证方法,在其中初始化BlueCloth对象,并尝试调用to_html方法捕获任何异常.如果你遇到异常,验证失败,否则它应该没问题.
在你的模型中: protected: def validate bc = BlueCloth.new(your_markdown_string_attribute) begin bc.to_html rescue errors.add(:your_markdown_string_attribute,'has invalid markdown syntax') end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |