用户可以选择在他们的页面上形成他们想要销售的商品的集合列表,并且还可以为每个商品设置每单位的价格。
使用的模型看起来像这样: user,user_product_category,product_category
如上所述,我有三个模型,user_product_category模型有一个名为" price"
的列用户模型如下所示:
has_many :user_product_category
has_many :product_category through: :user_product_category
数据库有一个"用户名"列。
至于user_product_category模型:
belongs_to :users
belongs_to :product_category
数据库包含以下列:
user_id, :integer
product_category_id, :integer
price, :integer
对于product_category模型:
has_many :user_product_category
has_many :users through: :user_product_category
它有一个"名称"柱
2.创建每个复选框旁边的文本字段,以允许用户为他们选择的每个项目设置价格
3.当您单击更新按钮时,为user_product_category控制器设置了参数。并且控制器执行以下操作: 为已检查的项目创建联结表 删除已检查的项目的表格,但不再删除 验证price_fields
例如,假设我们有用户A和id为user_id = 1 我们有可选择的项目:
ITEM1(ID = 1)
ITEM2(ID = 2)
项目3(ID = 3)
用户首先检查item1,并将价格设置为10美元 ↓ 在user_product_category中创建一个表:
id=1
user_id=1
product_categories_id=1
price=1000
然后用户A取消选中项目1,并检查项目2和3.将两个价格设置为12美元。点击更新
↓
user_product_category表中的: 删除id = 1的记录,并创建id = 2和id = 3的记录
id=2
user_id=1
product_categories_id=2
price=1200
id=3
user_id=1
product_categories_id=3
price=1200
我似乎无法弄清楚如何使这项工作。如何设置强参数以验证价格字段? 我错过了一些关键的东西吗 如果有人能帮助我,那将会更加重要。