我们最近将我们的Rails应用程序从4升级到5,并且我在使用无表格模型时遇到了重大变化。在Rails 4中,我们使用了这种模式:
class Foo < ActiveRecord::Base
attr_accessor :bar
def self.columns() @columns ||= []; end
end
ActiveAdmin.register Foo do
def create
@page_title = "Foo"
super
end
end
但是,在rails 5升级之后,我收到了这个错误:
ERROR: relation "foo" does not exist
有关如何更新Rails 5的无表格模型的任何想法?
谢谢!
答案 0 :(得分:0)
你需要扩展ActiveModel::Naming
并使用一些方法来使它在Rails 5中运行。我发现将所有内容放在模块中也使它也可移植:
class Foo
include Tableless
attr_accessor :bar
end
#/lib/tableless.rb
module Tableless
extend ActiveModel::Naming
def self.columns
@columns ||= []
end
def initialize(params)
end
def self.find(param)
true
end
def to_model
end
def persisted?
false
end
end