2008-12-30 43 views
4

我有一些不需要任何持久性的rails模型,但是我希望rails认为模型实际上具有属性x,y,z,所以当调用类似to_json的方法时控制器我得到他们免费。没有相应的列在db中的rails模型属性

例如,

class ModelWithoutTableColumns << ActiveRecord::Base 

def x 
    return "Custom stuff here" 
end 

有一个在数据库中没有列X的表“ModelWithoutTable”(对不起,我稍微有一些混乱的名字!)

人有一个想法如何解决这一个?

+0

http://stackoverflow.com/questions/993839/how-to-iterate-activerecord-attributes-including-attr-accessor-methods – 2013-09-19 22:52:04

回答

2

只是不从ActiveRecord的继承:: Base的

编辑:也许方法:你试过路过选项to_json,什么样的?请参阅here

+0

不可能混合搭配? – 2008-12-30 03:54:36

1

这不起作用 - ActiveRecord :: Base定义to_json,但需要一个表。

你应该看看ActiveRecord :: BaseWithoutTable插件。 Here's how to use it,这里是updated version for Rails 2

我还没有尝试过其中任何一个,所以没有保证。

1

您可能还想查看acts_without_database,关于它的当前详细信息是here,但该网站目前处于关闭状态。 Here's the posting on RubyFlow,从今天开始。