2012-06-17 12 views
5

मैंने एक नई रेल 3.2.5 परियोजनाएं शुरू कीं और संपत्ति पाइपलाइन अब और काम नहीं कर रही है। सीएसएस और जावास्क्रिप्ट फ़ाइल अब संकलित नहीं कर रहे हैं।संपत्ति पाइपलाइन टूटा हुआ है: फ्लाई सीएसएस और जेएस फाइलों पर संकलित नहीं

Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2012-06-16 23:59:11 -0700 
Served asset /application.css - 200 OK (0ms) 
[2012-06-16 23:59:11] ERROR NoMethodError: undefined method `each' for nil:NilClass 
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rack-1.3.6/lib/rack/handler/webrick.rb:71:in `service' 
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service' 
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run' 
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/server.rb: 

Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2012-06-16 23:59:11 -0700 
Served asset /application.js - 200 OK (0ms) 
[2012-06-16 23:59:11] ERROR NoMethodError: undefined method `each' for nil:NilClass 
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rack-1.3.6/lib/rack/handler/webrick.rb:71:in `service' 
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service' 
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run' 
    /Users/greg/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread' 
183:in `block in start_thread' 

अद्यतन:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Shorai</title> 
    <%= csrf_meta_tags %> 
</head> 
<body id=<%= params[:controller].sub('_controller', '') %>> 

    <% if current_user %> 
    <%= current_user.name %> 
    <%= link_to "Log out", signout_path %> 
    <% else %> 
    <%= link_to "Sign in", "/auth/37signals" %> 
    <% end %> 

    <%= yield %> 

    <%= stylesheet_link_tag "application", :media => "all" %> 
    <%= javascript_include_tag "application" %> 
</body> 
</html> 

Update2:

application.scss

यह जब कोशिश संपत्ति उत्पन्न करने के लिए लॉग से उत्पादन होता है

* 
* This is a manifest file that'll be compiled into application.css, which will include all the files 
* listed below. 
* 
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, 
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. 
* 
* You're free to add application-wide styles to this file and they'll appear at the top of the 
* compiled file, but it's generally better to create a new file per style scope. 
* 
*= require_self 
*= require_tree . 
*/ 

Update3: http://f.imgtmp.com/Onpqv.png

मैं यह है कि क्या कारण है पता नहीं है, किसी को भी एक विचार है? ग्रेग

+0

रेल 3.2.6 में अपग्रेड, क्योंकि 3.2.5 कई तरीकों से टूट गया है ... – shuriu

+0

मुझे अभी भी रेल के साथ भी समस्या है 3.2.6 :( – Gregory

+0

आउटपुट ऐसा लगता है कि आप किसी पृष्ठ पर जाकर देख सकते हैं ब्राउज़र। क्या आप देव, या उत्पादन में चल रहे हैं? जब आप रेक संपत्ति चलाते हैं तो क्या होता है: प्रीकंपाइल? – YuKagi

उत्तर

1

मुझे -v 3.2.5 के साथ एक ही समस्या थी।

डिबगिंग के घंटों के बाद, मैंने एक कामकाज किया। यह बहुत अच्छा नहीं है, लेकिन जब तक मैं इसे हल नहीं कर सकता, तब तक यह मुझे आगे बढ़ता है, या किसी और के पास बेहतर भाग्य है!

मैं उत्सुक हूँ इस समाधान आप के लिए भी काम करता है, ग्रेगरी अगर ...

config/application.rb में मैं स्पष्ट रूप से मेरी संपत्ति के लिए लोड पथ को जोड़ने के लिए किया था ... इसलिए:

config.assets.paths << Rails.root.join("app", "assets", "stylesheets") 
config.assets.paths << Rails.root.join("app", "assets", "javascripts") 
config.assets.paths << Rails.root.join("vendor", "assets", "stylesheets") 
config.assets.paths << Rails.root.join("vendor", "assets", "javascripts") 
config.assets.paths << Rails.root.join("lib", "assets", "javascripts") 

यदि आपके पास इंजन में संपत्ति है, तो उन्हें स्पष्ट रूप से जोड़ा जाना चाहिए। यह ठीक 3.1 -x में काम किया। तथ्य यह है कि इस कामकाज को हल करने से समस्या किसी भी बग को इंगित करती है (निश्चित रूप से अन्य इसे अब तक पाएंगे) या फिर कुछ विन्यास 3.2.5 में बदल जाता है।

+0

दुर्भाग्यवश मुझे अभी भी एक ही समस्या है ... – Gregory

+0

मैंने rbenv और ruby-build को पुनर्स्थापित करने का प्रयास किया लेकिन अभी भी त्रुटि प्राप्त हो रही है ... – Gregory

2

मुझे एक ही समस्या थी और मैंने देव पर्यावरण में कैश को अक्षम करके इसे हल किया। मुझे लगता है कि कैश संपत्ति ऑन-द-मक्खी संकलन

7

मैं यह त्रुटि मैं जब संचयन सक्षम था (विकास मोड में) के साथ memcached भंडारण मिला साथ अच्छी तरह से खेलने नहीं है, लेकिन memcached प्रक्रिया नहीं चल रहा था (रेल 3.2.8, विन 7)।

इसलिए समाधान मेमकैच को शुरू करना था और रेल सर्वर को रीबूट करना था।

+0

या यदि आप memcache संग्रहण का उपयोग नहीं कर रहे हैं, तो अपने 'development.rb' फ़ाइल में 'config.cache_store =: mem_cache_store' पंक्ति को टिप्पणी करना सुनिश्चित करें। – acconrad

3

मुझे कैश स्टोर (config.cache_store = :dalli_store) के रूप में memcache को सक्रिय करने के बाद भी एक ही समस्या थी। मैं रैक :: कैश मिडलवेयर निष्क्रिय द्वारा इसे हल कर सकता है स्पष्ट रूप से (config.action_dispatch.rack_cache = nil), या

config.action_dispatch.rack_cache = { 
    :metastore => Dalli::Client.new, 
    :entitystore => 'file:tmp/cache/rack/body', 
    :allow_reload => false 
} 

की स्थापना https://github.com/rails/rails/issues/8366 देखें द्वारा।