【发布时间】:2016-05-02 08:59:05
【问题描述】:
我有两个模型。比如说defects 和products。
product has_many :defects
defect belongs_to :product
1) 我在展示页面中列出了产品的所有相关缺陷
我想在产品展示页面中包含针对缺陷的edit 和delete 操作。
默认情况下,删除操作是删除产品,因为在控制器中对产品 (@product.destroy) 调用了销毁函数。如何删除选定的缺陷?
2) 为了创建缺陷,我在缺陷控制器中包含了以下 js 脚本 (create.js.erb)
var html = "<p> <%= @product.defect.try(:defect_description) </p>"
$('#added').append(html);
这不起作用,因为两者之间的关联有很多。如何附加输入的缺陷? 我正在使用产品展示页面中的表格
这是我列出缺陷并添加的产品展示页面代码
<button class="mybtn">Defects </button>
</div>
<div id="clicked">
<% if @product.defects.present? %>
<% @product.defects.each do |defect|%>
<p> <%= defect.try(:defect_description) %> <%= link_to 'Delete', defect, method: :delete, data: { confirm: "Are you sure you want to delete ?"},class: "btn btn-danger btn-xs" %></td></p>
<% end %>
<%= link_to "Add Defects",new_product_defect_path(@product.id),class:'btn btn-sm btn-success',remote:true%>
<% else %>
<p id="new_defect"> No defects found for this product </p>
<%= link_to "Add Defects",new_product_defect_path(@product.id),class:'btn btn-sm btn-success',remote:true%>
<%end%>
</div>
【问题讨论】:
-
能否添加您的显示页面代码
-
将您的视图内容提取到一个部分,并在添加/删除时,只渲染部分。
标签: ruby-on-rails ajax ruby-on-rails-4