我正在尝试为类别创建索引页面以显示所有类别。每行都有类别名称和用于删除和编辑类别的按钮。当我单击“编辑”按钮时,我希望将行更改为带有文本字段的表单,并带有预先填充的名称和“按钮保存”。到目前为止,我完成了单击编辑按钮并在行内显示编辑表单的工作。但是,当我单击“保存”按钮时,没有任何反应。像什么都没有。控制台没有错误,网络未显示任何呼叫,服务器日志未显示任何活动。我以为我添加了所有必要的代码来处理该调用,但是目前我不知道在哪里看。有人可以请教吗?我使用Rails 4.2.5。
Application.js
//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>
答案 0 :(得分:0)
是的,我认为问题出在tr标记内。在td中移动它似乎可以解决问题。