活动管理员,无法与父

时间:2015-05-18 10:19:17

标签: ruby-on-rails ruby activerecord gem activeadmin

在我的应用中,Invoice has_many Item。因此,在我的主动管理界面中,我希望能够创建发票,同时创建其项目。

但我只能在使用有效管理员中的items按钮创建invoice后添加Edit Invoice。尝试一起创建它们不会引导我从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

我在accepts_nested_attributes_for模型中添加了Invoice,如下所示:

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'

1 个答案:

答案 0 :(得分:1)

问题是要在我的>>> df2.show() ID EndDateTime StartDateTime Duration X01 2014-02-13T12:36:... 2014-02-13T12:31:... 258 X02 2014-02-13T12:35:... 2014-02-13T12:32:... 204 X03 2014-02-13T12:36:... 2014-02-13T12:32:... 228 XO4 2014-02-13T12:37:... 2014-02-13T12:32:... 268 XO5 2014-02-13T12:36:... 2014-02-13T12:33:... 202 模型中处理我的验证。我的Item模型类

中有以下验证规则
Item

这表示为了创建validates :price, :invoice, presence: true ,必须连接item。但是因为在invoice及其包含invoice的创建过程中,items已保存到数据库中。 invoice找不到要连接的items,验证失败。

通过删除invoice的状态验证来解决问题

invoice