Rails 模型属性在数据库中没有相应的列

nc.*_*nc. 5 ruby activerecord ruby-on-rails models

我有一些不需要任何持久性的 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 列(抱歉,名称有点令人困惑!)

有人知道如何解决这个问题吗?

小智 3

听起来你想要 ActiveModel。请访问http://yehudakatz.com/2010/01/10/activemodel-make-any-ruby-object-feel-like-activerecord/,了解 Yehuda Katz 的精彩演练。特别是“序列化”部分以满足您的to_json要求。