我一直试图得到这个一段时间,但不能得到任何错误,以显示当用户通过ajax提交表单,表单失败(我不能得到一个成功的消息来显示或者但不是那么重要)。Rails - 无法获取错误,以显示失败的ajax表单提交
这里是我有什么
形式
<ul id="errors">
</ul>
<%= form_for([@guide, @category, @key], url: guide_categories_keycreate_path(category_id: params[:id]), remote: true, :authenticity_token => true) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<%= f.label :name, "Key name" %>
<%= f.text_field :name %>
<%= f.select :key_type, [['Value', 1], ['Text', 2], ['Image', 3]] %>
<%= f.submit "Next", :value => "Add New Key" %>
<% end %>
的JS渲染线在控制器上,如果密钥不保存
...
else
respond_to do |format|
format.html { redirect_to edit_guide_category_path(@guide, @category) }
format.json { render :json => { :error => @key.errors.full_messages }, :status => 422 }
format.js
end
的JavaScript
$(document).on "ajax:error", "form", (evt, xhr, status, error) ->
errors = xhr.responseJSON.error
for message of errors
$('#errors ul').append '<li>' + errors[message] + '</li>'
表单不是我在它的正常密钥/创建视图中,加入代码中的某些内容会让你感到困惑,这可能会解释为什么它会这样。
不知道从哪里去,我基本上从this教程中复制了编码。我看了看,并尝试了几个教程,并看到了一些stackoverflow问题,这基本上是我需要的,但不会工作。不知道下一步该怎么做。
哇!我会给它一个裂缝。你帮了我很多忙。我还有一个问题,我一整天都没有运气。它的嵌套形式阻止工作上帝知道什么时候(测试通过)。我无法弄清楚是什么导致它现在只通过表单上的id提交,而没有其他的东西http://stackoverflow.com/questions/35400048/rails-nested-forms-only-passing-the-id-on-form -提交 – Rob