现在我的产品模型有一个类别的字符串列,其中的表单有一个select,它从产品模型中的数组中获取其值。现在只有三种可能的类别:wood_stoves,arborist_gear和链锯。我有一个控制器,每个控制器都列出了各自类别的产品。
我正在将类别切换到数据库表,并使用has_many和belongs_to关系将产品嵌套在其中,这是我的问题。以下是一个坏主意吗?
简而言之,我是否应该在迁移中执行所有这些操作以使其可逆,或者我是否应该放弃可逆性并手动对数据库进行更改以避免有些荒谬的迁移,只能转换对应于原始类别?换句话说,迁移将无法逆转属于新创建类别的产品。
答案 0 :(得分:1)
听起来不错。我唯一不同的是坚持使用Rails约定,将外键列名称以“_id”结尾。生活就这么简单。在您的情况下,从产品型号中删除category
列,然后添加category_id
列。