我想用ActiveRecord验证创建一个Rails(2.1和2.2)模型,但没有数据库表.什么是最广泛使用的方法?我发现一些声称提供此功能的插件,但其中许多插件似乎没有得到广泛使用或维护.社区推荐我做什么?现在我倾向于根据这篇博文提出我自己的解决方案.
我想要做的是为我的一些模型设置一个基类,它具有一些默认的activerecord行为:
class Option < ActiveRecord::Base
has_many :products
def some_method
#stuff
end
#etc..etc..
end
class ColorOption < Option
#stuff...
end
class FabricOption < Option
#stuff...
end
Run Code Online (Sandbox Code Playgroud)
但是,我希望每个ColorOption和FabricOption都在他们自己的表中.我不想使用STI或为基类"Option"设置表.我实现这一点的唯一方法是使用一些非继承元编程魔法.但我想知道是否有办法告诉AR基类不需要表.它只是用于额外行为,并像往常一样将其他子类放在自己的表中.
谢谢,克雷格
我有一些不需要任何持久性的 Rails 模型,但是我希望 Rails 认为该模型实际上具有属性 x、y、z,因此当在控制器中调用像 to_json 这样的方法时,我可以免费获得它们。
例如,
class ModelWithoutTableColumns << ActiveRecord::Base
def x
return "Custom stuff here"
end
Run Code Online (Sandbox Code Playgroud)
数据库中没有表“ModelWithoutTable”的 x 列(抱歉,名称有点令人困惑!)
有人知道如何解决这个问题吗?