RoR - ActiveAdmin无法使用嵌套表单创建新产品

时间:2018-03-28 12:48:35

标签: ruby-on-rails ruby activeadmin

我是rails的新手,我正在尝试自定义ActiveAdmin。 我的应用程序有3个型号:用户(有很多产品),产品(有很多价格)和价格。我正在尝试使用嵌套表单自定义ActiveAdmin,以便能够直接使用其价格创建/更新产品。 虽然更新工作完美(更新产品甚至添加新价格),但创建操作不起作用。我在控制台中得到“回滚”但没有特定的错误消息。 你能告诉我我做错了什么吗?

# app/admin/products.rb
ActiveAdmin.register Product do
  form do |f|
    f.semantic_errors
    f.inputs do
      f.input :name
      f.input :size
    end
    f.inputs "Prices" do
      f.has_many :prices do |price|
        price.input :value
        price.input :currency, :collection => ["dollars", "euros", "pounds"]
      end
    end
  f.actions
end
permit_params :name, :size, :user_id, prices_attributes: [:id, :currency, :value, :product_id, :_edit, :_update, :_new, :_create]

我还在app / models / product.rb中添加了“accepts_nested_attributes_for:prices”。

日志构成了控制台

Started POST "/admin/products" for 127.0.0.1 at 2018-03-28 14:46:05 +0200
Processing by Admin::ProductsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"W9OJHqyFzXREfi4/DuBN1xnf0KIhAjJDfGsZjQqvGJ7BZOb11fVAz78djOf1k3XZdmpJxuPYinYi6Knu2agvnQ==", "product"=>{"name"=>"Shorts", "size"=>"XL", "prices_attributes"=>{"0"=>{"value"=>"40", "currency"=>"euros"}}}, "commit"=>"Create Product"}
User Load (0.9ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["id", 1], ["LIMIT", 1]]
AdminUser Load (0.4ms)  SELECT  "admin_users".* FROM "admin_users" WHERE "admin_users"."id" = $1 ORDER BY "admin_users"."id" ASC LIMIT $2  [["id", 1], ["LIMIT", 1]]
(0.2ms)  BEGIN
(0.3ms)  ROLLBACK
Rendering /Users/alex/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activeadmin-1.2.1/app/views/active_admin/resource/new.html.arb
Rendered /Users/alex/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activeadmin-1.2.1/app/views/active_admin/resource/new.html.arb (100.1ms)
Completed 200 OK in 248ms (Views: 132.6ms | ActiveRecord: 1.9ms)

非常感谢你的帮助。

0 个答案:

没有答案