如何删除rails中的所有录音?
How to delete all recordings in rails?
我需要制作端点/产品
这将从存储中删除所有产品。但我不明白如何制作这个,
现在我有删除方法,即按 ID 只删除一个产品
这是我的控制器
# DELETE /products/1 or /products/1.json
def destroy
@product.destroy
respond_to do |format|
format.html { redirect_to products_url, notice: "Product was successfully destroyed." }
format.json { head :no_content }
end
end
我的index.html
<p id="notice"><%= notice %></p>
<h1>Products</h1>
<table class="table table-striped ">
<thead>
<tr>
<th>Name</th>
<th>Price</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @products.each do |product| %>
<tr>
<td><%= product.name %></td>
<td><%= product.price %></td>
<td><button type = 'button' class="btn btn-outline-info"><%= link_to 'Show', product %></td>
<td><button type="button" class="btn btn-outline-success"><%= link_to 'Edit', edit_product_path(product) %></td>
<td><button type="button" class="btn btn-outline-danger"><%= link_to 'Destroy', product, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
<br>
<%= link_to 'New Product', new_product_path %>
和路线
Rails.application.routes.draw do
resources :products
root 'products#index'
end
我需要创建一个按钮来删除页面中的所有产品
这不是七个标准 REST 操作之一,因此您无法从此处的 rails 获得额外帮助。解决此问题的方法之一是定义自定义操作。
# routes.rb
resources :products do
post :delete_all, on: :collection
end
# products_controller.rb
def delete_all
Product.delete_all
redirect_to :products_path
end
并插入一个 link/button,它执行 POST 到 /products/delete_all
。应该看起来大致像这样:
link_to 'Destroy All', delete_all_products_path, method: :post, data: { confirm: 'Are you sure?' }
我需要制作端点/产品 这将从存储中删除所有产品。但我不明白如何制作这个, 现在我有删除方法,即按 ID 只删除一个产品 这是我的控制器
# DELETE /products/1 or /products/1.json
def destroy
@product.destroy
respond_to do |format|
format.html { redirect_to products_url, notice: "Product was successfully destroyed." }
format.json { head :no_content }
end
end
我的index.html
<p id="notice"><%= notice %></p>
<h1>Products</h1>
<table class="table table-striped ">
<thead>
<tr>
<th>Name</th>
<th>Price</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @products.each do |product| %>
<tr>
<td><%= product.name %></td>
<td><%= product.price %></td>
<td><button type = 'button' class="btn btn-outline-info"><%= link_to 'Show', product %></td>
<td><button type="button" class="btn btn-outline-success"><%= link_to 'Edit', edit_product_path(product) %></td>
<td><button type="button" class="btn btn-outline-danger"><%= link_to 'Destroy', product, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
<br>
<%= link_to 'New Product', new_product_path %>
和路线
Rails.application.routes.draw do
resources :products
root 'products#index'
end
我需要创建一个按钮来删除页面中的所有产品
这不是七个标准 REST 操作之一,因此您无法从此处的 rails 获得额外帮助。解决此问题的方法之一是定义自定义操作。
# routes.rb
resources :products do
post :delete_all, on: :collection
end
# products_controller.rb
def delete_all
Product.delete_all
redirect_to :products_path
end
并插入一个 link/button,它执行 POST 到 /products/delete_all
。应该看起来大致像这样:
link_to 'Destroy All', delete_all_products_path, method: :post, data: { confirm: 'Are you sure?' }