Javascript 通过ajax调用从表单更新类别对象
我正在尝试为类别创建索引页,以显示所有类别。每行都有类别名称和用于删除和编辑类别的按钮。当我点击“编辑”按钮时,我希望将行更改为一个带有文本字段的表单,其中包含预填充的名称和“保存”按钮。到目前为止,我完成了单击编辑按钮并在行中显示编辑表单。但是当我点击save按钮时,什么也不会发生。我什么都不喜欢。控制台没有错误,网络显示没有呼叫,服务器日志显示没有活动。我想我添加了所有必要的代码来处理这个调用,但现在我不知道该在哪里查看。有人能给点建议吗?我使用RailsV4.2.5 Application.jsJavascript 通过ajax调用从表单更新类别对象,javascript,ruby-on-rails,ruby,ajax,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby,Ajax,Ruby On Rails 4,我正在尝试为类别创建索引页,以显示所有类别。每行都有类别名称和用于删除和编辑类别的按钮。当我点击“编辑”按钮时,我希望将行更改为一个带有文本字段的表单,其中包含预填充的名称和“保存”按钮。到目前为止,我完成了单击编辑按钮并在行中显示编辑表单。但是当我点击save按钮时,什么也不会发生。我什么都不喜欢。控制台没有错误,网络显示没有呼叫,服务器日志显示没有活动。我想我添加了所有必要的代码来处理这个调用,但现在我不知道该在哪里查看。有人能给点建议吗?我使用RailsV4.2.5 Application
//this is for clicking edit and displaying Edit form inside the row
document.addEventListener("turbolinks:load", function() {
$("[name='edits']").on('ajax:complete', function(event, data, status) {
$(this).parent().parent().html(data.responseText)
})
})
//this is to handle click on save button
document.addEventListener("turbolinks:load", function() {
$('#edit-form').on('ajax:complete', function(event, data, status){
$('#categories').html(data.responseText);
})
})
类别控制员:
def edit
render partial: 'categories/edits'
end
def update
if @category.update(category_params)
flash[:success] = "Category #{@category.name} was saved successfully"
else
flash[:danger] = "There was an error please try again!"
end
render partial: 'categories/list'
end
编辑表格部分:
<div>
<%= form_tag category_path, remote: true, method: :put, name: "edit-form" do %>
<div class="form-group row text-center col-md-12">
<div class="col-md-10">
<%= text_field_tag :name, @category.name,
placeholder: "Category Name", autofocus: true,
class: "form-control" %>
</div>
<div class="col-md-2">
<%= button_tag(type: :submit, class: "btn btn-primary") do %>
Save
<% end %>
</div>
</div>
<% end %>
</div>
拯救
在html中,我注意到输入字段和按钮在表单之外。这可能是问题的原因吗?那样
<form></form>
<input>
<button></button>
是的,我认为问题在于将表单放入tr标签中。把它移到td里似乎可以解决这个问题