Ruby on Rails 的新手,遇到了从舒适的 GUI IDE 辅助功能语言迁移到 RoR 的第一个真正困难。
我需要有通用数据以及模型中的类型特定数据。这些类型需要在数量上不受限制并且用户可以定义。
例如,一件设备(套件)可以是车辆、气体检测器或任何其他类型。如果是车辆,则类型特定数据可能包括注册号、注册更新日期、气瓶数量等。如果是气体检测器,则可能是它检测到的气体类型、气瓶中的气体量等。
我有一个模型“KitTypes”,它记录了每种类型的特定套件数据的标签,这些数据可以为该类型的套件记录,如下所示。
class KitType < ActiveRecord::Base
attr_accessible :name,
:info_label_1, :info_label_2, :info_label_3,
:date_label_1, :date_label_2, :date_label_3,
:num_label_1, :num_label_2, :num_label_3
has_many :kits
end
设备(套件)信息存储在与以下类似的套件模型中。特定于类型的字段名称是 info_n、date_n、num_n 字段。
class Kit < ActiveRecord::Base
attr_accessible :kit_type_id, :location_id, :code, :brand, :model, :serial,
:purchased, :purchase_price, :warranty_expiry, :decommission_date, :notes,
:info_1, :info_2, :info_3,
:date_1, :date_2, :date_3,
:num_1, :num_2, :num_3
belongs_to :kit_type
belongs_to :location
end
匹配的 KitType 记录包含应显示在匹配编号的 Kit 数据旁边的显示标签。
以前我会在一个视图中显示通用信息,在单独的视图中显示类型特定信息。即用户需要在一个网格中查看所有设备,但特定类型的数据仅在查看相同类型的记录或单个记录时才有意义。此外,通常只有带有 KitType 标签数据的 Kit 字段是可见的,尽管在这个阶段这并不是最重要的。
我可以将特定类型的数据分离到另一个模型中,但我认为这对我没有多大帮助,而且它仍然不能解决我的适应性标签问题。
我如何在 Rails 中做类似的事情(还不是专家),还是我做错了?