Sha256: 98ff41a72c564f9c06694512856bb8cb605b31915ec0f87a09eb6dbaf1294853

Contents?: true

Size: 1.02 KB

Versions: 7

Compression:

Stored size: 1.02 KB

Contents

module Character::TemplatesConcern
  extend ActiveSupport::Concern

  def form_template
    @form_template ||= begin
      template_folder = model_class.name.underscore.to_s.pluralize
      template_folder.gsub!('character/', '')

      generic_template_folder  = "character/#{ template_folder }"
      instance_template_folder = "#{ character_instance.name }/#{ template_folder }"

      if    template_exists?("form", instance_template_folder, false)
        "#{ instance_template_folder }/form"
      elsif template_exists?("form", generic_template_folder, false)
        "#{ generic_template_folder }/form"
      else
        @generic_form_fields = model_class.fields.keys - %w( _id _type created_at _position _keywords updated_at deleted_at )
        "character/generic/form"
      end
    end
  end

  def form_action_url(object)
    form_attributes_namespace()

    if object.persisted?
      "/#{ character_instance.name }/#{ model_slug }/#{ object.id }"
    else
      "/#{ character_instance.name }/#{ model_slug }"
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
character-1.0.6 app/controllers/concerns/character/templates_concern.rb
character-1.0.5 app/controllers/concerns/character/templates_concern.rb
character-1.0.4 app/controllers/concerns/character/templates_concern.rb
character-1.0.3 app/controllers/concerns/character/templates_concern.rb
character-1.0.2 app/controllers/concerns/character/templates_concern.rb
character-1.0.1 app/controllers/concerns/character/templates_concern.rb
character-1.0.0 app/controllers/concerns/character/templates_concern.rb