2

我想创建不需要数据库的无表模型。例如:

class Post < ActiveRecord::Base
  attr_accessible :body, :title, :language_id
  belong_to :language
end
class Language
  has_many :post
  ...
end

将是 2 或 3 种语言。我不想加载数据库,是否可以手动在模型中创建语言?

4

1 回答 1

2

阅读这篇文章可能会有所帮助:http: //yehudakatz.com/2010/01/10/activemodel-make-any-ruby-object-feel-like-activerecord/

通常,您的模型不需要从 ActiveRecord 继承,因为您可以包含 ActiveModel。

另一方面,您可以像这样保持简单:

class Langauge
  attr_accessor :posts
  def initialize
    @posts = []
  end

  def add_post(post)
    @posts << post
  end
end

lang = Language.new
lang.add_post(Post.new) 
于 2012-11-11T12:00:11.907 回答