Tôi có trang mà bạn tạo hóa đơn. Có một phần riêng biệt cho phép bạn thêm thanh toán vào hóa đơn. Điều tôi muốn làm là thêm khả năng tạo thanh toán khi tạo hóa đơn.Đường ray Hiển thị một phần của biểu mẫu bên trong một biểu mẫu khác
Tôi muốn hiển thị biểu mẫu "Tạo thanh toán" VIEW vào biểu mẫu "Tạo hóa đơn" XEM. Tôi có thể làm cái này như thế nào? Dưới đây là một số mã:
Mẫu Invoice xem (chú ý làm cho cuộc gọi):
<%= 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) Các phần từ các hình thức thanh toán tạo (chú ý tôi không bao gồm thẻ form_for ở đây vì tôi không muốn tiếp tục biểu mẫu bên trong một biểu mẫu khác trên trang Hóa đơn ở trên):
<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>
Vấn đề chính là biến số f
không tồn tại. Và ngay cả khi tôi chỉ định số hóa đơn là f
của Hoá đơn, tên của các thông số sẽ là params[:invoice][:amount]
thay vì params[:payment][:amount]
. Xem tôi đang nói gì?
Cách tốt nhất để thực hiện việc này là gì?
Bạn có kiểm tra [accepts_nested_attributes_for] (http://api.rubyonrails.org/classes /ActiveRecord/NestedAttributes/ClassMethods.html) và [fields_for helper] (http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-fields_for)? –