我有一些不需要任何持久性的rails模型,但是我想rails认为模型实际上有x,y,z属性所以当在控制器中调用类似to_json的方法时我会免费获得它们。
例如,
class ModelWithoutTableColumns << ActiveRecord::Base
def x
return "Custom stuff here"
end
表格“ModelWithoutTable”的数据库中没有列x(对于有点混乱的名称感到抱歉!)
任何人都知道如何解决这个问题?
答案 0 :(得分:2)
只是不要从ActiveRecord :: Base继承
编辑:您是否尝试过将选项传递给to_json,例如:方法也许?见here
答案 1 :(得分:2)
听起来你想要ActiveModel。查看http://yehudakatz.com/2010/01/10/activemodel-make-any-ruby-object-feel-like-activerecord/,了解Yehuda Katz的精彩演练。特别是针对to_json
要求的“序列化”部分。
答案 2 :(得分:1)
这不起作用 - ActiveRecord :: Base定义了to_json,但需要一个表。
你应该看看ActiveRecord :: BaseWithoutTable插件。 Here's how to use it,这是updated version for Rails 2。
我没有尝试过其中任何一个,所以没有保证。
答案 3 :(得分:1)
您可能还想查看acts_without_database,有关它的当前详细信息为here,但该网站目前已关闭。 Here's the posting on RubyFlow,它是从今天开始的。