我正在使用这个动态表单来创建多个嵌套子表单,就像在ryan bates railscast中一样,但是我想在输入之前指定嵌套子表单的数量:
这是ryan的railscast中的控制器:
def new
@invoice = Invoice.new 5.times { @invoice.items.build }
端
所以我想知道我是否可以根据输入形式将嵌套子项更改为动态乘法:
我在下面尝试过这段代码,但它不起作用:
def new
count = params[:item_counts] ---> the value from a text_field_tag count.times { @invoice.items.build }
端
以下是观点:
<div id="invoice">
<%= form_tag invoices_path, :method => "get" do %>
<%= label_tag :items, "Item amounts :" %><%= text_field_tag :item_counts %><br /><br />
<%= link_to 'Create New Invoice', new_invoice_path(invoice) %>
<% end %>
</div>
如何将text_field_tag中的:item_counts值传递给控制器?
答案 0 :(得分:0)
将值传递给控制器是什么意思?如果您提交表单,您的所有参数(包括params[:item_counts]
)都将传递给invoices#create
,即创建发票控制器的操作。
params传递给发布的new
方法究竟是什么?