3

在查看了 Rails 中的一些无表解决方案(virtusactive_attr、activemodel)之后,很明显不支持 Rails 关联。我的问题是为什么不呢?我错过了一些明显的原因吗?似乎关联会非常有用,但在我看到的所有示例中,它们都被遗漏了。

4

1 回答 1

1

我不确定如何回答您为什么不支持它的问题,这是您可以使用 Rails 4+ 支持它的一种方式。这不需要你有一个数据库表,还可以让你访问验证、关联和一些回调,如 after_initialize。

class Tableless < ActiveRecord::Base
    def self.columns() @columns ||= []; end

    def self.column(name, sql_type = nil, default = nil, null = true)
        columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
    end 

    attr_accessor :id, :name, :value

    has_many :stuff_things
    has_many :things, :through => :stuff_things

end
于 2015-08-05T14:12:58.537 回答