2012-12-31 10 views
5

मैं कैरियरवेव के साथ रेडैक्टर_रेल्स मणि का उपयोग कर रहा हूं। दो जगह हैं जहां मुझे चित्र अपलोड के साथ टेक्स्ट एडिटर चाहिए, और मैं प्रत्येक संपादक के लिए अलग-अलग चित्र आकार बनाना चाहता हूं।रेडैक्टर रेल और कैरियरवेव - चित्र आकार

यदि मैं संस्करण का उपयोग करता हूं तो मेरे पास प्रत्येक चित्र के लिए दो आकार हैं और मुझे नहीं पता कि टेक्स्ट फ़ील्ड में चित्र संस्करण को कैसे बदला जाए।

मुख्य विचार redactor_rail_picture_uploader

में हर संपादक अपलोड करने वाले के लिए अपने आप आकार बदलने की प्रक्रिया को चलाने के लिए मैं ऐसा कैसे करते है?

+0

ऐसा लगता है कि ऐसा करना संभव नहीं है। मुझे इसे बनाने के लिए कुछ मणि विधियों को ओवरराइड करना पड़ा। – barba

+0

क्या आप समाधान और कोड के साथ अपने प्रश्न का उत्तर दे सकते हैं? मैं यह भी करना चाहता हूं और आप अपना जवाब स्वीकार कर सकते हैं .. –

उत्तर

2

यह सही तरीका नहीं है, लेकिन यह काम करता है।

मैं में अपलोड की गई फ़ाइलों के कई संस्करण बनाया है: 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 

बनाया प्रारंभकर्ता और नए सिरे से परिभाषित विधि वर्ग के RedactorRails :: PicturesController वहाँ 'बनाने'। अब यह संस्करण को सहेजता है जिसे मैं फॉर्म के साथ 'संस्करण' परम द्वारा पास करता हूं।

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 

अंत में अपलोड करने वाले से संस्करण मैं इस रूप में सहेजना चाहते के मूल्य के साथ छिपे हुए इनपुट कहा:

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

कुछ इस तरह।

+0

हाय @barba, क्या आप कृपया बता सकते हैं कि आपने रेल आवेदन पर रूबी में समृद्ध टेक्स्ट बॉक्स के लिए रेडैक्टर को कैसे कार्यान्वित किया। मैंने कोशिश की लेकिन आउटपुट अपेक्षित नहीं हो सका। किसी भी सुझाव की सराहना की जाएगी। –

+1

बस एक रेडैक्टर जेएस मॉड्यूल लोड किया और textarea के लिए 'redactor' वर्ग सेट करें। – barba

संबंधित मुद्दे