在Rails應用程序中使用新的Turbolink 5 - 使用錯誤消息渲染窗體的最佳方式是什麼?該文件說:如何使用Turbolinks渲染窗體錯誤頁面5
而不是正常提交表單,提交他們與XHR。爲了響應服務器上的XHR提交,返回執行Turbolinks.visit的JavaScript,以便由瀏覽器進行評估。
因此,如果我的表單提交遠程請求更新,我應該只是做一個js形式替換或渦輪鏈接5有更好的方法?示例 -
控制器:
def update
@success = @team.update_attributes(team_params)
end
update.js
<% if @success %>
Turbolinks.visit('<%= teams_path %>', {action: 'replace'});
<% else %>
$('form').replaceWith('<%= j(render partial: '/teams/form') %>');
<% end %>
是否有處理失敗的更新更turbolinks 5路?
好奇的部分是,如果我使用if @ something.save的正常思想; redirect_to @something;其他;渲染:新;當表單失敗時,它將返回帶有錯誤消息的new.html.erb響應,除非它不更新視圖來顯示它。這會更好,感覺就像我在這裏錯過了一些東西,並且必須渲染一個JS replaceWith似乎沒有必要。 – Dan
我對你的陳述感到困惑:「當表格失敗時......」錯誤信息在屏幕上顯示或不顯示?你怎麼知道錯誤信息正在通過? –
使用鉻網絡檢查員,我可以看到,當我提交表單將失敗它返回一個響應。響應中的HTML有錯誤消息HTML,但似乎返回的響應未在頁面上呈現。 – Dan