35得票3回答
从ActiveRecord模型继承时如何防止STI问题

在 Rails 3.2.6 上,我有一个继承自 ActiveRecord::Base 的类: class Section < ActiveRecord::Base ... end 当我继承这个类时,Rails会认为我想要使用STI: class AnotherSection ...

32得票1回答
使用 FactoryGirl 进行简单的 STI 测试

我有一个类,它是其他一些专门化行为的基础类: class Task < ActiveRecord::Base attr_accessible :type, :name, :command validates_presence_of :type, :name, :command ...

19得票6回答
Rails STI:如何更改类名和“type”列的值之间的映射?

由于公司规定,我不能使用我们的域类名称;我将使用比喻来代替。我有一个名为“projects”的表,其中有一个名为“type”的列,其可能的值为“indoor”和“outdoor”。具有室内和室外的记录具有明确的功能分离,并且会相当整洁地适合作为STI实现。不幸的是,我无法更改类型名称,也无法在...

17得票3回答
使用Rails 3实现多表继承

在Rails 3中,多表继承是否存在标准或最佳实践?到目前为止,我能找到的最好的文章是: http://mediumexposure.com/multiple-table-inheritance-active-record/ 但即使如此,它也需要进行一些更改(例如将requires移动到初...

16得票4回答
STI和form_for问题

我正在使用单表继承来管理不同类型的项目。 模型: class Project < ActiveRecord::Base end class SiteDesign < Project end class TechDesign < Project end 从proje...

15得票2回答
用Rails方法实现抽象基本模型类

我有一个Book和Download模型,它们共享许多属性,因此我的目标是从一个DownloadableResource模型中继承公共属性。 看了一下STI,但我选择了抽象基本模型类的方式: models: class DownloadableResource < ActiveReco...

14得票3回答
Rails问题:在STI中使用belongs_to——我应该如何正确地做?

我一直在研究STI和belongs_to / has_many关系,但我有点困惑。 基于类似以下模型配置,我有几个问题:class Parental < ActiveRecord::Base end class Mother < Parental has_many :b...

11得票2回答
ActiveRecord STI:如何退出父类的默认作用域?

在 Rails 3.1 RC6 上,假设class Animal < ActiveRecord::Base default_scope where(legs: 4) end 以下代码的表现与预期不符:class Man < Animal default_scope unsc...

11得票2回答
如何在Rails中始终使用基类并忽略STI?

我有一个模块,我在几个模型中包含了它,其中包括以下内容:self.class.find_by_foo(bar) 在我开始使用STI之前一切都很好。该行代码应始终生成查询。select * from table where foo=bar" 并且不是select * from table whe...

11得票2回答
使用STI基类的Rails form_for

我的Rails应用中有一个非常简单(我认为是这样的)的单表继承(STI)设置。 有一个User模型,其中嵌套了一个资源Post。使用STI,我将某些Post设置为Post :: Urgent对象。 我注意到我的URL助手如<%= [@user, @post] %>需要硬编码为&lt...