我想知道如何单独更新多个记录。
说我有一个产品模型。它有价格和属性名称,我只想更新某些属性
控制器
class ProductController
def index
@products = Products.where(store: store_id)
end
def update
product = Product.find_by(id: params[what goes here]
product.update(params[how do i find it])
end
end
字符串
在索引视图中,
Tissue
<%= form_for @products, url: products_update_path(how do i target the id) do |f| %>
<%= f.text_area :price, :class => "admin_editor" %>
<% end %>
Chair
<%= form_for @products, url: products_update_path(how do i target the id) do |f| %>
<%= f.text_area :price, :class => "admin_editor" %>
<% end %>
型
才是正确的方式但我觉得这种方法是混乱的,如果我有很多不同的产品
def index
@tissue = Product.where(store_id: store_id, name: 'tissue')
@chair = Product.where(store_id: store_id, name: 'chair')
end
def update
product = Product.find_by(id: params[product_id]
product.update(params[how do i find it])
end
型
在我看来
Chair
<%= form_for @tissue, url: products_update_path(product_id: @tissue.id) do |f| %>
<%= f.text_area :price,%>
<% end %>
Tissue
<%= form_for @chair, url: products_update_path(product_id: @chair.id) do |f| %>
<%= f.text_area :price %>
<% end %>
型
或者,有没有一种方法可以在一个单一的表单中完成它?
1条答案
按热度按时间mcvgt66p1#
这里有一些Rails文档:
https://api.rubyonrails.org/classes/ActionController/StrongParameters.html