diff --git a/lib/administrate/field/base.rb b/lib/administrate/field/base.rb index 44166d779c..83237f7820 100644 --- a/lib/administrate/field/base.rb +++ b/lib/administrate/field/base.rb @@ -16,6 +16,14 @@ def self.searchable? false end + def self.field_type + to_s.split("::").last.underscore + end + + def self.permitted_attribute(attr, _options = nil) + attr + end + def initialize(attribute, data, page, options = {}) @attribute = attribute @data = data @@ -24,10 +32,6 @@ def initialize(attribute, data, page, options = {}) @options = options end - def self.permitted_attribute(attr, _options = nil) - attr - end - def html_class self.class.html_class end @@ -41,12 +45,6 @@ def to_partial_path end attr_reader :attribute, :data, :options, :page, :resource - - protected - - def self.field_type - to_s.split("::").last.underscore - end end end end diff --git a/lib/administrate/field/has_one.rb b/lib/administrate/field/has_one.rb index 32cbe60ff1..c8d59186ee 100644 --- a/lib/administrate/field/has_one.rb +++ b/lib/administrate/field/has_one.rb @@ -3,13 +3,6 @@ module Administrate module Field class HasOne < Associative - def nested_form - @nested_form ||= Administrate::Page::Form.new( - resolver.dashboard_class.new, - data || resolver.resource_class.new, - ) - end - def self.permitted_attribute(attr, options = nil) associated_class_name = if options @@ -24,6 +17,13 @@ def self.permitted_attribute(attr, options = nil) { "#{attr}_attributes": related_dashboard_attributes } end + def nested_form + @nested_form ||= Administrate::Page::Form.new( + resolver.dashboard_class.new, + data || resolver.resource_class.new, + ) + end + private def resolver diff --git a/lib/administrate/field/polymorphic.rb b/lib/administrate/field/polymorphic.rb index 22294b5e95..e622542512 100644 --- a/lib/administrate/field/polymorphic.rb +++ b/lib/administrate/field/polymorphic.rb @@ -3,6 +3,10 @@ module Administrate module Field class Polymorphic < BelongsTo + def self.permitted_attribute(attr, _options = nil) + { attr => %i{type value} } + end + def associated_resource_grouped_options classes.map do |klass| [klass.to_s, candidate_resources_for(klass).map do |resource| @@ -11,10 +15,6 @@ def associated_resource_grouped_options end end - def self.permitted_attribute(attr, _options = nil) - { attr => %i{type value} } - end - def permitted_attribute { attribute => %i{type value} } end diff --git a/lib/administrate/view_generator.rb b/lib/administrate/view_generator.rb index 8f49299061..c1fa550c13 100644 --- a/lib/administrate/view_generator.rb +++ b/lib/administrate/view_generator.rb @@ -5,8 +5,6 @@ module Administrate class ViewGenerator < Rails::Generators::Base include Administrate::GeneratorHelpers - private - def self.template_source_path File.expand_path( "../../../app/views/administrate/application", @@ -14,6 +12,8 @@ def self.template_source_path ) end + private + def copy_resource_template(template_name) template_file = "#{template_name}.html.erb"