我使用 data-remote = true 属性提交表单。控制器中的 create 操作如下所示:
format.js { @user }
并由以下模板处理:
create.js.erb
是否有一种简单的方法可以呈现@97. @ users.errors消息,如JSON,以便在当前模板中使用以下JSON并处理错误呢?
我知道我可以使用 format.json 指令渲染错误,但我想制作和其他JavaScript操作,不仅渲染错误,因此我使用格式.js tehnique。
答案 0 :(得分:0)
使用to_json方法可以轻松解决这个问题。为了渲染传递的模型对象,我应该这样做:
var current_errors = <%= @security_user.errors.to_json %>;
无论如何,这仍然没有呈现正确的JSON,因为引号是由rails自动编码的(以防止XSS),因此您应该使用以下方法之一:
有关这些内容的更多信息,请访问此处 - raw vs. html_safe vs. h to unescape html
对我有用的最终解决方案是:
var current_errors = <%= raw @security_user.errors.to_json %>;