2013-01-12 3 views
1

J'ai un modèle avec un seul champ avec carrierwave pour le téléchargement de fichiers. J'ai effectué une recherche dans le groupe google, mais je ne trouve pas de moyen simple d'ajouter des téléchargements de fichiers au composant netzke. Je serai heureux de le faire dans une vue de panneau avec un téléchargement régulier de dossier de navigateur, je n'ai besoin de rien d'extraordinaire.Netzke avec le téléchargement de fichiers, de préférence carrierwave

Je viens de voir une des démos a un téléchargement de fichier, le formulaire de Paging avec mise en page personnalisée. Je pense que je dois encore des conseils comment le mettre dans la BasePack Grille

Répondre

2

champ de téléchargement de fichiers doit d'abord être ajouté dans Basepack::Form (qui peut ensuite être testé de manière indépendante):

class AttachmentForm < Netzke::Basepack::Form 
    def configure(c) 
    super 
    c.model = "Attachment" 
    c.items = [{xtype: :fileuploadfield, name: 'attachment'}] 
    end 
end 

Ensuite, votre grille doit être configuré pour utiliser ce formulaire au lieu du haut-un:

class AttachmentGrid < Netzke::Basepack::Grid 
    def configure(c) 
    super 
    c.model = 'Attachment' 
    c.force_fit = true 
    c.columns = [:link] 
    c.bbar = [:add_in_form, :del] 
    end 

    def preconfigure_record_window(c) 
    super 
    c.form_config.klass = AttachmentForm 
    c.width = 600 
    c.height = 150 
    end 
end 

Pour référence, voici aussi le modèle Attachment:

class Attachment < ActiveRecord::Base 
    mount_uploader :attachment 

    # this is a virtual column referred to from `AttachmentGrid`; 
    # can be moved over to grid itself using `getter` in case 
    # you object putting HTML into the model 
    def link 
    "<a href='#{attachment.url}' target='_blank'>#{attachment.file.try(:identifier)}</a>" 
    end 
end 
Questions connexes