我想要的是
我使用带有 ajax 表单的新 rails respond_to Controller Api。如果一个对象没有验证 rails 会返回一个 Json 错误对象并触发“ajax:error”事件。我想在相应的表单字段下/下显示每个错误(我们使用的是 formatastic)。
这是我的例子..
控制器:
class Admin::PrivateMessagesController < AdminController
respond_to :json
def create
private_message = PrivateMessage.new(params[:private_message])
private_message.save
respond_with private_message
end
end
看法
<%= form_for @private_message, :remote => true, :html => {"data-type" => "json"} do |f|
f.input :body
...
end %>
js/咖啡脚本
我只是将所有错误添加到一个字符串并显示它们..
$("#new_private_message").on 'ajax:error', (event, data, status) ->
error = "Errors: "
$.each $.parseJSON(data.responseText), (field, errorMessage) ->
error += "#{field}-#{errorMessage} "
$('#errors').html(error)
json错误对象
{"body":["Please enter a message."],"subject":["Please enter a message."]}
我的问题!
- 我必须自己解析json吗?
- 如何将错误消息添加到该字段?
- 它不应该是标准 jquery-ujs 的一部分吗?