كيفية استخدام haml مع heroku?
سؤال
أحاول haml العمل دون جوهره مع سيناترا (Heroku لا تسمح جوهرة تثبيت, بقدر ما أعرف)
ما قمت به حتى الآن:
استنساخ haml بوابة الريبو داخل المشروع
إضافة :تتطلب 'haml/lib/haml.rb إلى سيناترا الملف الرئيسي
الأعمال التالية:
get '/test' do
Haml::Engine.new('%p test').render
end
ولكن بعد لا:
get '/test2' do
haml :my_template
end
أحصل على خطأ :
NoMethodError - غير معروف طريقة each' for nil:NilClass
(haml):20:in
التحميل
./haml/lib/haml/المحرك.rb:152:في `جعل'
./haml/lib/haml/المحرك.rb:152:في instance_eval'
./haml/lib/haml/المحرك.rb:152:في `جعل' ...
هل هناك أي ملفات أخرى تتطلب ؟ أي أفكار ؟
المحلول
Heroku يدعم تركيب الأحجار الكريمة من خلال خلق .gems
الملف في المشروع الخاص بك الدليل الجذر وإضافته إلى بوابة.في الخاص بك المقبل دفع الأحجار الكريمة المطلوبة سيكون هناك تثبيت.لتثبيت Haml الملف سيحتوي على هذا السطر:
haml --version '>= 2.2.0'
مزيد من المعلومات يمكن العثور عليها هنا: http://docs.heroku.com/gems
نصائح أخرى
اثنين من أكثر الاحتمالات واضحة (في ترتيب احتمال):
- هناك خطأ في بعض روبي البرمجية في Haml الملف.إذا كان يمكنك أن تجرب نفس الكود خارج سيناترا, لا تجعل بخير هناك ؟
- الملف my_template.haml إما هناك أو يسمى بشكل غير صحيح.
كما الاشياء mc أبدت استجابة petergassner الجواب, الطريقة الصحيحة للقيام بذلك الآن استخدام التطبيق الخاص بك Gemfile.في هذا Gemfile كنت تفعل
gem "haml", ">= 2.2.0"
Heroku يعرف عند دفع التطبيق الخاص بك لتثبيت الأحجار الكريمة المذكورة في gemfile.
ملاحظة أنه إذا كنت ترغب في استخدام sass
وكذلك haml
, قد تحتاج إلى القفز من خلال زوج من الأطواق للحصول على اقامة.الطريقة haml
أعمل تشارك عادة الكتابة المترجمة css
الملفات إلى القرص, وهي مشكلة على heroku فقط قراءة الملفات.شخص ما في نهاية المطاف كتب المساعد/جوهرة لحل هذا الوضع (ساس-في herku أو بعض من هذا القبيل).
حاليا ، haml-rails
جوهرة يبدو أن تأخذ الرعاية من هذا باستخدام خط أنابيب الأصول ، ولكن إذا كنت تستخدم سيناترا ، هذا من المحتمل أن لا تعمل من أجلك.لذا عليك إما تريد أن ترى إذا كان واحد من تلك الأحجار الكريمة لا تزال في العملية ، أو تأخذ المشورة التي heroku يبدو حاليا تعتنق.هذه المقالة أيضا القضبان محددة ، ولكن يجب أن تكون قادرة على الحصول على الأشياء لتعمل بشكل مناسب سيناترا دون الكثير من الصعوبة.(أساسا ، لتلخيص نقطة هنا ، heroku الآن دعم الكتابة إلى tmp دليل طالما يمكنك تكوين كل من ساس جوهرة و سيناترا التطبيق لاستخدام بعض tmp موقع لهذا ، يجب أن تكون جيدة.)