我遇到了rails窗體(remote:true)及其操作的問題。 我正在使用Rails 4.Ruby on Rails:提交ajax後的表單問題
我有兩個部分。首先是一個包含所有條目的表格(例如工作包),其次是添加新條目的表格。我填寫表格並通過AJAX將其發送給我的控制器。之後,表單部分將重新呈現。到現在爲止還挺好。
現在是該形式在「編輯模式」的問題:
<form accept-charset="UTF-8" action="/workpackages/290" class="edit_workpackage" data-remote="true" id="edit_workpackage_290" method="post" role="form">
如果我想直接添加其他工作包,現在這是不可能的,因爲我想改變第一entrie。
如何確保公式創建後的「新模式」?
<form accept-charset="UTF-8" action="/workpackages" class="new_workpackage" data-remote="true" id="new_workpackage" method="post" role="form">
是否可以說出我想要的表單模式?如果按下「編輯」按鈕,則應始終可用「編輯模式」。
如果我刷新整個一面的形式是新的「新模式」。爲什麼不在ajax調用之後?
一些代碼:
控制器/創建
def create
respond_to do |format|
if (@workpackage.save)
#update current working time on workingtime Account
update_workingtime_account()
#get new infos about workingtime from current day and working account if a new workpackage was created
get_new_workingtime()
flash[:notice] = 'Arbeitspacket erfolgreich erfasst'
format.html { redirect_to @workpackage }
format.js {}
else
format.html { render :new }
flash[:notice] = 'Arbeitspacket konnte nicht gespeichert werden'
format.js {}
end
end
create.js.erb
//AJAX renew Section table
$(document).ready(function() {
$('#workpackage-form').bind('ajax:success', function() {
$('#workpackage-table').html("<%= escape_javascript(render 'workpackages/table') %>");
$('#workpackage-form').html("<%= escape_javascript (render partial: 'workpackages/form') %>");
//re-initialize datetimepicker
$('.datetimepicker').datetimepicker({ format: 'LT' });
});
});
我希望解釋是非常明顯的。
Thx,我想這會幫助我:)! – Kumaro