【发布时间】:2012-08-03 19:51:09
【问题描述】:
我有一个页面,您可以在其中创建发票。有一个单独的部分允许您将付款添加到发票中。我想要做的是在创建发票时添加创建付款的功能。
我想将“创建付款”表单 VIEW 呈现为“创建发票”表单 VIEW。我怎样才能做到这一点?这是一些代码:
发票表单视图(注意渲染调用):
<%= form_for(@contract) do |f| %>
<div class="field">
f.label "Add payment?"
<div id="pay_form">
<%= render 'payments/pay_form' %>
</div>
</div>
(_pay_form.html.erb) 创建付款表单的部分内容(请注意,我没有在此处包含 form_for 标记,因为我不想在上面的发票页面上的另一个表单中下一个表单):
<div class="field">
<%= f.label 'Amount Paid:' %>
<%= f.text_field :amount %>
</div>
<div class="field">
<%= f.label 'Payment Method' %>
<%= f.select :method, %w(Cash Credit Check) %>
</div>
主要问题是部分中的f 变量不存在。即使我从表单中分配 Invoice 的 f var,参数的名称也将是 params[:invoice][:amount] 而不是 params[:payment][:amount]。明白我在说什么吗?
最好的方法是什么?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2