2013-10-13 3 views
7

मुझे उत्पादन में पचाने के बिना मेरी फ़ॉन्ट संपत्तियों के साथ कोई समस्या है। जैसे ही मैं संपत्ति घूस कर के रूप में: precompile मैं:रेल पर रूबी में पचाने के बिना फ़ॉन्ट संपत्ति 4

5futurebit-webfont-c133dbefd9e1ca208741ed53c7396062.eot 

मैं परिसंपत्ति यूआरएल, संपत्ति-पथ, font-यूआरएल और font-पथ, लेकिन सभी के साथ एससीएसएस में फॉन्ट-फेस से लिंक करने का प्रयास कर रहा था की उन्हें outputting पथ अंत:

/assets/5futurebit-webfont.eot 

अब मैं/ऐप्स/संपत्ति/फोंट से संपत्ति को कॉपी कर रहा हूँ सीधे/जनता के लिए के लिए/आस्तियों/लेकिन यह महसूस नहीं करता है कि जिस तरह से यह करने के लिए है की तरह।

+1

मेरा मानना ​​है कि इस सवाल का प्रासंगिक http://stackoverflow.com/questions/10905905/using-fonts-with-rails-asset-pipeline हो सकता है –

उत्तर

0

सुनिश्चित करें कि आप की तरह अपने font-यूआरएल घोषणा में फ़ॉन्ट का विस्तार नाम के साथ सटीक फ़ाइल नाम किया हुआ है:

सही:

@font-face{ 
    font-family: 'Sawasdee'; 
    src: font-url('Sawasdee.ttf') format('truetype'); 
} 

गलत:

@font-face{ 
    font-family: 'Sewasdee'; 
    src: font-url('Sewasdee') format('truetype'); 
} 

मेरे फ़ॉन्ट फ़ोल्डर :

fonts 
|_ Sewasdee.ttf 
|_ Otherfont.ttf 
2

मैं एक समान समस्या को देख रहा हूं और वर्तमान में गैर-बेवकूफ-पाचन-संपत्तियों का उपयोग कर रहा हूं: https://github.com/alexspeller/non-stupid-digest-assets

इस बारे में अधिक जानकारी के लिए कि आप इसका उपयोग कैसे कर सकते हैं, यहां देखें। Correct use of non-stupid-digest-assets gem

अब कहा जा रहा है कि क्रिस द्वारा प्रदान किया गया लिंक (विशेष रूप से, https://stackoverflow.com/a/17367264/291640) ऐसा लगता है कि यह मणि के बिना मणि के समान ही हो सकता है। मुझे पता है कि मुझे इसे और देखने की जरूरत है।

+0

+1 गैर बेवकूफ-पचाने-संपत्ति मणि के लिए। रेल के पास ऐसा विकल्प होना चाहिए। –

0

यहां हमारा समाधान है, जो आंशिक रूप से स्पोकेट्स पर आधारित है। यह Rails4 के साथ काम कर रहा है। प्रीकंपिलेशन के बाद यह स्वचालित रूप से config.assets.precompile में सूचीबद्ध सभी संपत्तियों के लिए एक अनौपचारिक संस्करण उत्पन्न करता है।

# lib/tasks/assets_nondigest.rake 
require 'fileutils' 

namespace "assets:precompile" do 
    desc "Create nondigest versions of defined assets" 
    task :nondigest => :environment do 
    sprocket_task = Sprockets::Rails::Task.new ::Rails.application 
    assets = ::Rails.application.config.assets.precompile 

    paths = sprocket_task.index.each_logical_path(assets).to_a + 
     assets.select { |asset| Pathname.new(asset).absolute? if asset.is_a?(String)} 

    paths.each do |path| 
     if asset = sprocket_task.index.find_asset(path) 
     copy_target = File.join(sprocket_task.output, asset.digest_path) 
     target = File.join(sprocket_task.output, asset.logical_path) 

     sprocket_task.logger.info "Writing #{target}" 
     asset.write_to target 
     asset.write_to "#{target}.gz" if asset.is_a?(Sprockets::BundledAsset) 
     end 
    end 
    end 
end 

Rake::Task['assets:precompile'].enhance do 
    Rake::Task['assets:precompile:nondigest'].invoke 
end 
संबंधित मुद्दे