【发布时间】:2015-05-18 10:19:16
【问题描述】:
在我的应用程序中,Invoice has_many Item。因此,在我的活动管理 UI 中,我希望能够创建发票,同时创建其项目。
但我只能在使用活动管理员中的Edit Invoice 按钮创建invoice 后添加items。尝试将它们一起创建不会将我从New Invoice 页面引导到任何地方。并且没有显示任何错误。有人可以帮我解决这个问题吗?
我的app/admin/invoice.rb中有以下表单结构
permit_params :paid, :due, :customer_id,
items_attributes: [:price, :description, :invoice_id, :purchased_product_id]
form multipart: true do |f|
f.inputs do
input :customer
input :due
input :paid, as: :radio
end
f.inputs "Items" do
f.has_many :items do |item|
item.input :price
item.input :description
item.input :purchased_product
end
end
f.actions
end
我在Invoice 模型中添加了accepts_nested_attributes_for,如下所示:
class Invoice < ActiveRecord::Base
belongs_to :customer
has_many :items
accepts_nested_attributes_for :items, allow_destroy: true
validates :customer, presence: true
我正在使用 Rails 4,activeadmin '~> 1.0.0.pre1'
【问题讨论】:
-
如果将
:id添加到items_attributes会怎样? -
@AndreyDeineko,也没有用 :( 不过感谢您的建议
标签: ruby-on-rails ruby activerecord gem activeadmin