ruby - Unsupported field datatype: metadata -
i have error message:
unsupported field datatype: metadata. extracted source (around line #23): 21 end 22 23 configure :block, :metadata 24 25 configure :sticky, :metadata 26 view_helper :check_box
i'm doing presentation gem rails_admin. , in slide 29 put in post , has error. files:
/lib/rails_admin/metadata.rb
require 'rails_admin/config/fields/base' module railsadmin class metadata < railsadmin::config::fields::base railsadmin::config::fields::types::register(self) def value raise 'no metadata!' unless bindings[:object].respond_to?(:metadata) bindings[:object].metadata[method_name] end def allowed_methods 'metadata' end def parse_input(params) params['metadata'] ||= bindings[:object].metadata params['metadata'] [method_name] = params.delete(method_name) end end end
/models/blog/post.rb
class blog::post < activerecord::base has_many :comments belongs_to :user accepts_nested_attributes_for :comments serialize :metadata, hash rails_admin configure :user visible bindings[:controller].current_ability.can? :edit, user end end configure :comments visible bindings[:controller].current_ability.can? :edit, blog::comment end end configure :block, :metadata configure :sticky, :metadata view_helper :check_box end configure :published, :metadata view_helper :check_box end configure :priority, :metadata view_helper :number_field defaul_value 0 end end end
you have require "#{rails.root}/lib/rails_admin/metadata"
in head of rails_admin initializer.
or add lib
folder in rails autoload paths.
in config/application.rb
add: config.autoload_paths = %w(#{config.root}/lib)
btw serialized datatype in rails_admin implemented: https://github.com/sferik/rails_admin/blob/master/lib/rails_admin/config/fields/types/serialized.rb
Comments
Post a Comment