ruby-on-rails – Rails 3.2.11中带有模型子目录的单表继承
发布时间:2020-12-17 02:04:04 所属栏目:百科 来源:网络整理
导读:我有一个模特运动.使用单表继承我有2个其他模型,Cricket和Football这样 class Cricket Sport and class Football Sport 我把这两个模型放在一个名为sports的models目录下的子文件夹中.我将类型列添加到Sport并将值设置为Cricket或Football,无论什么是合适的.
我有一个模特运动.使用单表继承我有2个其他模型,Cricket和Football这样
class Cricket < Sport and class Football < Sport 我把这两个模型放在一个名为sports的models目录下的子文件夹中.我将类型列添加到Sport并将值设置为Cricket或Football,无论什么是合适的.此外,我能够使用Cricket.new或Football.new创建对象. 这种结构可以正常工作,直到Rails 3.2.6. 但是现在使用Rails 3.2.11,子文件夹中的任何模型文件都必须进行模块化.所以,它现在看起来像这样: module Sports class Cricket < Sport 现在,rails无法单独加载Cricket或Football类.所以,Cricket.new或Football.new不起作用.如果我做Sports :: Cricket.new,那么对我来说这是一个问题因为类型列必须是类名,即Sports :: Cricket. 在Rails 3.2.11中我应该怎么做才能使单表继承工作?我不想在我的类型列中添加像Sports :: Cricket这样的值. 解决方法
我自己刚刚处理过类似的问题.请参阅
How to reload files in app/models/subdirectory in dev environment for STI.基本上,您需要在初始化和重新加载,父类或配置文件中的require_dependency你的子类.这是一个轨道懒惰的东西,and it doesn’t seem like they want to change it.我发现
Alex Reisner’s post也非常有帮助.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |