【问题标题】:Rails - Add many objects to another object typeRails - 将许多对象添加到另一个对象类型
【发布时间】:2012-02-24 14:16:42
【问题描述】:

假设我有两个控制器,“good”和“customer”,并且我想向一个客户添加许多商品;我可以通过什么方式做到这一点?

我的意思是,我需要一个客户的展示视图,其中列出了与该项目相关的所有商品,以及一个用于向客户添加新对象的“向客户添加商品”。

【问题讨论】:

  • 对不起,我解释错了。我的关联如下:1 好 多个客户,反之亦然 1 客户 1 好。正如我之前写的客户的展示视图必须列出所有关联的商品,并且“向客户添加商品”用于添加新对象给客户。有什么改变吗

标签: ruby-on-rails


【解决方案1】:

您可能希望在模型级别使用association 执行此操作,然后允许nested attributes。

它可能看起来像这样

型号

class customer < ActiveRecord::Base
    has_one :goods
    accepts_nested_attributes_for :goods
end

然后,在客户视图中,您会想要嵌套表单。 Railscast 对此进行了很好的概述。由于关联和accepts,您可以在控制器中自动继承它们。还有一个类似的问题here 放大了解释。

【讨论】:

  • 对不起,我解释错了。我的关联如下: 1 个好 多个客户,反之亦然 1 个客户 1 个好。正如我之前写的客户的显示视图必须列出所有关联的商品,并且“向客户添加商品”用于添加新对象给客户。有什么改变吗?
  • @Marco 所以商品可以有多个客户,客户可以有多个商品?
  • 不!商品可以有多个客户,但客户只能拥有一种商品。为了更好地理解,让我们详细说一下,PC 硬件的模型对我来说很好,而客户是我的客户,假设我正在创建一个 Web 应用程序来管理我的商店。它始终是一对多关系
  • @Marco 有一些细微的变化。我更新了我的答案以反映这一点
  • 好的,谢谢!另一个问题,我看到你写过“has_one :goods”,但在类商品中我总是如下正确?类好
猜你喜欢
  • 2021-07-14
  • 1970-01-01
  • 2021-12-10
  • 2017-01-19
  • 2021-11-06
  • 1970-01-01
  • 2017-05-07
  • 2018-07-07
  • 1970-01-01
相关资源
最近更新 更多