我有以下场景我试图在Ruby on Rails应用程序中配置(警告:我是初学者)...
我有SupportType模型,它定义了不同级别的客户支持选项(银牌,金牌等),并详细说明了该支持类型涵盖的内容(24/7,仅限工作日等)。
我有另一个模型,客户端包含所有基本的客户信息数据。
我需要将客户端关联到SupportType(Client Jones有Gold级别的支持),但无法理解设置此关系的“正确”方式。在这种情况下,“has_many”或“has_one”似乎都不适用。
如何设置此目标,以便能够在一个视图中显示所有客户端详细信息和支持参数?
TIA!
答案 0 :(得分:3)
class Client < ActiveRecord::Base
belongs_to :support_type
end
class SupportType < ActiveRecord::Base
has_many :clients
end
通过这种方式,您可以使用a_client.support_type
访问客户的支持类型,并查看具有gold_support.clients
你不能在客户端模型中使用has_one,因为在那种情况下Rails aspects to find a client_id in the support_types DB table如果我理解得不好,因为许多客户端可以拥有相同的SupportType。
PS:请记住将support_type_id列添加到客户端数据库表