2017-06-07 2 views
2

Was sind die notwendigen Schritte im Rails Active Admin-Plugin, um Attachinary-Eingaben hinzuzufügen?Hinzufügen von Attachmentary-Eingaben in Schienen active admin

+0

Bitte verschieben Sie die Antwort nicht zurück in die Frage; So funktioniert diese Seite nicht. Dass es in eine Community-Wiki-Antwort verschoben wurde, war die richtige Aktion. Wenn Sie das als Ihre eigene Antwort erneut einreichen möchten, ist das in Ordnung, aber * verwenden Sie einen Antwort-Post für das *. Sie können dann die andere Community-Wiki-Antwort für die Aufmerksamkeit des Moderators markieren, um das Löschen zu beantragen. –

Antwort

1

Von der ursprünglichen Frage kopiert.


Erster Schritt:

neuen Ordner hinzufügen namens 'Eingänge' in 'App' Ordner.

In diesem Ordner erstellen Datei 'formtastic_attachinary_input.rb' genannt

Und diese Zeilen in dieser Datei hinzufügen:

class FormtasticAttachinaryInput 
    include Formtastic::Inputs::Base 
    attr_reader :attachinary_options 

    def to_html 
    input_wrapping do 
     label_html << 
     template.builder_attachinary_file_field_tag(method, @builder, { html: input_html_options }) 
    end 
    end 
end 

Zweiter Schritt:

In 'config/initializer' erstellen Datei mit dem Namen 'active_admin_cloudinary.rb'

Und fügen Sie diese Zeilen in dieser Datei:

module ActiveAdmin 
    module Views 
    module Pages 
     class Base < Arbre::HTML::Document 

     alias_method :original_build_head, :build_active_admin_head 

     def build_active_admin_head 
      original_build_head 

      within @head do 
      text_node cloudinary_js_config 
      end 
     end 

     end 
    end 
    end 
end 

Dritter Schritt:

In 'app/assets/javascript' erstellen Datei mit dem Namen 'active_admin.js'

Und fügen Sie diese Zeilen:

//= require active_admin/base 
//= require jquery-fileupload/vendor/jquery.ui.widget 
//= require jquery-fileupload/jquery.iframe-transport 
//= require jquery-fileupload/jquery.fileupload 
//= require cloudinary/jquery.cloudinary 
//= require attachinary 
//= require attachments 

Vierter Schritt: Datei erstellen in 'app/assets/javascript' mit dem Namen 'attachments.js.coffee'

Und diese Zeilen hinzufügen:

jQuery -> 
    $('.attachinary-input').attachinary() 

Wie benutzt man es?

ActiveAdmin.register Category do 
    menu priority: 3 
    menu label: "Sous catégories" 
    permit_params :name, :photo, :description, :category_type_id, :id, :pos_id 

    form do |f| 
    f.inputs "Infos de base" do 
     f.input :id 
     f.input :name 
     f.input :description 
     f.input :category_type 
     f.input :pos_id 
     f.input :photo, as: :formtastic_attachinary ### THERE #### 
    end 
    actions 
    end 

    filter :name, :as => :string 
    filter :description 
    filter :category_type 
    filter :pos_id 
end 
Verwandte Themen