【发布时间】:2017-11-13 11:11:01
【问题描述】:
我有下一个数据库设计:
一个order可以有一个size,一个size可以有很多orders。
例如:
订单 1 的 size 属性等于 medium
Order 2 的 size 属性等于 medium
我希望在活动管理员中创建订单时能够选择尺寸。
订购型号:
class Order < ApplicationRecord
has_one :order_size
accepts_nested_attributes_for :order_size, :allow_destroy => true
end
订货尺寸型号:
class OrderSize < ApplicationRecord
belongs_to :orders
end
另外,OrderSize 表必须有一个 order_id 列吗?
我不知道模型是否正确,但 activeadmin 给了我这个错误:
undefined method `order_id' for #<Order:0x007fb980e34b80>
我的 activeadmin 模型
订单大小:
ActiveAdmin.register OrderSize do
permit_params :name
end
订单:
ActiveAdmin.register Order do
permit_params :due_date, :comments, :approved, :order_size_id,
order_size_attributes: [:id, :name,:_destroy]
form do |f|
f.inputs "Admin Details" do
f.input :due_date
f.input :order_size
f.input :comments
f.input :approved
end
f.actions
end
end
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-5 activeadmin