ruby-on-rails – Rails 3.2.11中带有模型子目录的单表继承

ruby-on-rails – Rails 3.2.11中带有模型子目录的单表继承,第1张

概述我有一个模特运动.使用单表继承我有2个其他模型,Cricket和Football这样 class Cricket < Sport and class Football < Sport 我把这两个模型放在一个名为sports的models目录下的子文件夹中.我将类型列添加到Sport并将值设置为Cricket或Football,无论什么是合适的.此外,我能够使用Cricket.new或Footbal 我有一个模特运动.使用单表继承我有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也非常有帮助. 总结

以上是内存溢出为你收集整理的ruby-on-rails – Rails 3.2.11中带有模型子目录的单表继承全部内容,希望文章能够帮你解决ruby-on-rails – Rails 3.2.11中带有模型子目录的单表继承所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1268459.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存