2012-12-31 9 views
5

Sto utilizzando gemma redactor_rails con carrierwave. Ci sono due posti in cui ho bisogno di un editor di testo con caricamento di immagini, e voglio fare una dimensione diversa per ogni editor.redactor railers e carrierwave - dimensioni immagini

Se utilizzo la versione, ho due dimensioni per ogni immagine e non so come cambiare la versione dell'immagine nel campo di testo.

L'idea principale è quella di eseguire il proprio processo di ridimensionamento per ogni uploader redattore redactor_rail_picture_uploader

Come posso fare?

+0

Sembra che non sia possibile farlo. Ho dovuto scavalcare alcuni metodi gem per farlo funzionare. – barba

+0

Puoi rispondere alla tua domanda con la soluzione e il codice? Mi piacerebbe farlo anche tu e tu puoi accettare la tua risposta .. –

risposta

2

Forse non è il modo perfetto, ma funziona.

Ho fatto diverse versioni di file caricati in: redactor_rails_picture_uploader.rb

version :item_text do 
    process :resize_to_limit => [478, 478] 
end 

version :thumb do 
    process :resize_to_fill => [100, 100] 
end 

initializer Creato e il metodo di 'creare' di classe RedactorRails :: PicturesController lì ridefinito. Ora salva la versione che ho passato con il modulo con il parametro 'version'.

RedactorRails::PicturesController.class_eval do 
    def create 
    @picture = RedactorRails::Picture.new 

    file = params[:file] 
    version = params[:version] 

    @picture.data = RedactorRails::Http.normalize_param(file, request) 
    if @picture.respond_to?(:user_id) 
     @picture.user = current_user 
     @picture.assetable = current_user 
    end 

    if @picture.save 
     if version 
     file_link = @picture.send(:url, version) 
     else 
     file_link = @picture.url 
     end 

     render :text => { :filelink => file_link }.to_json 

    else 
     render :nothing => true 
    end 
    end 
end 

Infine aggiunti input nascosto con il valore della versione da uploader Voglio salvare in questa forma:

%input{:id => 'redactor_version', :value => 'item_text', :type => 'hidden'} 

Qualcosa di simile.

+0

ciao @barba, potresti spiegare come hai implementato Redactor per la casella di testo rich in ruby ​​on rails application. Ho provato ma non ho potuto ottenere l'uscita prevista. qualsiasi suggerimento sarebbe apprezzato. –

+1

È stato appena caricato un modulo redactor js e impostato una classe 'redactor' per la textarea. – barba

Problemi correlati