gpt4 book ai didi

ruby-on-rails - 对 Rails 中的嵌套表单字段进行排序

转载 作者:行者123 更新时间:2023-12-04 07:34:22 25 4
gpt4 key购买 nike

我正在尝试创建一个库存表格,根据产品类别对产品进行排序。理想情况下,我将能够按类别列出这些产品,并将放入一些 javascript 来隐藏/显示给定类别的产品。

目前,我无法理解如何在表单中按类别拆分我的产品。这是我目前拥有的(模仿 Ryan Bates 的 Railscasts 嵌套属性):

class InventoriesController < ApplicationController
def new
@title = "Take Inventory"
@vendor = ProductVendor.find(params[:product_vendor_id])
@inventory = Inventory.new()
@products = @vendor.products.active
@products.each do |product|
@inventory_line_item = @inventory.inventory_line_items.build({:product_id => product.id})
end
end

我的新库存表格:
<%= form_for @inventory do |f| %>
<table>
<tr>
<th>Item</th>
<th>Quantity</th>
</tr>

<% f.fields_for :inventory_line_items do |builder| %>

<tr>
<td><%= builder.object.product.name %></td>
<td><%= builder.text_field(:quantity, :size => 3) %></td>
<%= builder.hidden_field :product_id %>
</tr>

<% end %>

</table>
<%= f.hidden_field(:user_id, :value => current_user.id) %>
<%= f.hidden_field(:location_id, :value => current_location.id) %>
<%= f.hidden_field(:product_vendor_id, :value => @vendor.id) %>

<%= f.submit "Submit" %>

<% end %>

所以我有另一个名为 product_category 的模型,它有很多产品。如何在 Controller 和表单中按类别对我的产品进行排序和分隔?另外,有没有办法使用 Formtastic 做到这一点?谢谢!

最佳答案

实现起来其实很简单。在 nest_form 字段中添加一个隐藏字段,属性为 position (当然将此属性添加到您的模型中)并将其添加到您的 js 以及使用 jquery-ui.js

  $('#task_fields').sortable({
items: '.fields',
dropOnEmpty: true,
cursor: 'move',
handle: '.move',
opacity: 0.4,
scroll: true,
axis:'y',
placeholder: 'ui-state-highlight',
start: function(e, ui) {
ui.placeholder.height(ui.item.height());
},
update: function() {
$(this).children(".fields").each(function(index) {
$(this).children('input.task_position').val(index + 1);
});
}
});

这是我的 _form.html.haml 中的内容
= f.fields_for :tasks do |t|
= t.text_field :name
= t.hidden_field :position, :class => :task_position
= t.collection_select :account_id, Account.all, :id, :full_name, :prompt => 'Assign task to...'
.button-group
%span{:class => "button icon no-text move pill"}
= t.link_to_remove "", :class => "button icon no-text remove pill"
= f.link_to_add "Add a Task", :tasks, :class => "button icon add"

这非常有效。

关于ruby-on-rails - 对 Rails 中的嵌套表单字段进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9507423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com