2017-11-29 29 views
0

최근 레일스 앱을 4에서 5로 업그레이드했으며 테이블이없는 모델로 변경되었습니다. 레일 4, 우리는이 패턴을 사용했다 :레일 5에 활성 관리자를위한 테이블없는 모델을 만드는 방법은 무엇입니까?

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 

을하지만 레일 후 5 업그레이드,이 오류 받고 있어요 : 레일에 대한 우리의 tableless 모델을 업데이트하는 방법에 대한

ERROR: relation "foo" does not exist 

어떤 아이디어를 5?

감사합니다.

답변

0

당신은 내가 모듈에 최선을 다하는 것은 그것이 휴대용 만든 것을 발견 ActiveModel::Naming을 확장하고 레일 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 
+0

https : //로 GitHub의 .com/activeadmin/activeadmin/issues/1713 # issuecomment-28838869 –

+0

@PiersC 동일한 요구 사항이지만 해결책은 레일 5로 변경되었습니다. – user341493