我一直試圖得到這個一段時間,但不能得到任何錯誤,以顯示當用戶通過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