在我的例子中,允许用户编写Markdown内容并将其保存到数据库中.如果某人使用了无效语法,则该内容的所有连续呈现尝试都将失败(状态码500 – 内部服务器错误).
你是如何解决这个问题的?在保存到数据库之前,是否可以在模型级验证Markdown语法?
在你的模型中:
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