मैं वर्तमान में हेरोोकू ज्ञान आधार पर अनुशंसित configuration का उपयोग कर हेरोकू के साथ कम्पास का उपयोग कर रहा हूं। हेरोकू में केवल पढ़ने योग्य फ़ाइल सिस्टम है, और इसलिए संकलित स्टाइलशीट को/tmp में संग्रहीत करने की आवश्यकता है। यह हेरोोकू पर दूरस्थ रूप से ठीक काम करता है; स्थानीय रूप से, हालांकि, रेल को स्टाइलशीट/सार्वजनिक/स्टाइलशीट में ढूंढने की उम्मीद है (जब = stylesheet_link_tag 'screen.css', :media => 'screen, projection'
के माध्यम से बुलाया जाता है)।हरोकू पर कम्पास का उपयोग करना:/tmp स्टाइलशीट्स के लिए दूरस्थ रूप से और स्थानीय रूप से
समस्या को हल करने के लिए, मैंने ln -s tmp/stylesheets/screen.css public/stylesheets/screen.css
का उपयोग करके/सार्वजनिक/स्टाइलशीट में प्रतीकात्मक लिंक बनाए हैं और ऐसा लगता है कि यह काम करता है।
क्या प्रतीकात्मक लिंक का उपयोग किए बिना इस समस्या को हल करने का कोई तरीका है, शायद रेल में कुछ कॉन्फ़िगरेशन बदलकर? मैंने बिना किसी सफलता के चारों ओर पोक किया है।
require 'compass'
require 'compass/app_integration/rails'
Compass::AppIntegration::Rails.initialize!
# Required for Heroku:
require 'fileutils'
FileUtils.mkdir_p(Rails.root.join("tmp", "stylesheets"))
Compass::AppIntegration::Rails.initialize!
Rails.configuration.middleware.delete('Sass::Plugin::Rack')
Rails.configuration.middleware.insert_before('Rack::Sendfile', 'Sass::Plugin::Rack')
Rails.configuration.middleware.insert_before('Rack::Sendfile', 'Rack::Static',
:urls => ['/stylesheets'],
:root => "#{Rails.root}/tmp")
और यहाँ मेरे config/compass.rb है:
project_type = :rails
project_path = Compass::AppIntegration::Rails.root
# Set this to the root of your project when deployed:
http_path = "/"
# Necessary for Heroku (original commented out:
css_dir = 'tmp/stylesheets'
#css_dir = "public/stylesheets/compiled"
sass_dir = 'app/views/stylesheets'
environment = Compass::AppIntegration::Rails.env
किसी भी मदद की बहुत सराहना की जाएगी
यहाँ मेरी config/initializers/compass.rb है।
क्या यह रेल 3 के साथ काम करता है? – anka
हां - मैं रेल 3.0.5 पर हूं। – jdc
एक बात जो मैं इस समाधान में समझ में नहीं आता है, यही कारण है कि आप पर्यावरण के आधार पर "sass_dir" बदल रहे हैं। क्या यह नहीं है कि आप स्रोत फाइलें संग्रहीत हैं? देव में प्रोड/होकोकू में यह अलग क्यों होगा? इसके अलावा, आप कम्पास :: ऐप इंटीग्रेशन :: Rails.in आरंभ कर रहे हैं! दो बार। –