समस्यारेल 3.1 संपत्ति को हल नहीं
मैं जो मैं Railscast video: "Upgrading to rails 3.1" से 3.1.4 निम्नलिखित निर्देशों में नवीनीकृत एक रेल 3.0.4 एप्लिकेशन है।
अब मैं संपत्ति के साथ समस्याओं के कारण वे समाधान नहीं होता है, इस तरह सर्वर लॉग में संदेश दे रही है:
Started GET "/assets/application.css" for 127.0.0.1 at 2012-04-08 03:57:13 -0500
Served asset /application.css - 404 Not Found (15ms)
ActionController::RoutingError (No route matches [GET] "/assets/application.css"):
Rendered /usr/local/rvm/gems/ruby-1.9.2-p318/gems/actionpack-3.1.4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (14.3ms)
Started GET "/assets/application.js" for 127.0.0.1 at 2012-04-08 03:57:13 -0500
Served asset /application.js - 404 Not Found (35ms)
ActionController::RoutingError (No route matches [GET] "/assets/application.js"):
इन फ़ाइलों assets
निर्देशिका में हैं:
$ ls app/assets/*/application*
app/assets/javascripts/application.js app/assets/stylesheets/application.css
और इसमें यह है:
$ cat app/assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require_self
//= require_tree .
$ cat app/assets/stylesheets/application.css
/*
*= require_self
*= require_tree .
*/
मुझे लगता है कि सबकुछ कॉन्फ़िगर किया गया है। यहाँ मैं फ़ाइलों में से कुछ हिस्सा डाल:
Gemfile
, शामिल संपत्ति जवाहरात की आवश्यकता:config.assets.enabled = true config.assets.version = '1.0'
development.rb
:config.assets.compress = false config.assets.debug = true
group :assets do gem 'sass-rails', '~> 3.1.3' gem 'coffee-rails', '~> 3.1.0' gem 'uglifier' end
application.rb
, संपत्ति सक्षम किया गयाअंत में ...
application.html.erb
लेआउट:<%= stylesheet_link_tag 'application' %> <%= javascript_include_tag 'application' %>
स्टेज
मैं विकास वातावरण में अब हूँ।
टेस्ट
मैं
http://localhost:3000/assets/images/rails.png
अनुरोध करते हैं, यहNo route matches [GET] "/assets/images/rails.png"
फेंकता है, लेकिन फाइल नहीं है:$ ls app/assets/images/rails.png app/assets/images/rails.png
तब मैं
rake assets:precompile
निष्पादित करें:$ bundle exec rake assets:precompile /usr/local/rvm/rubies/ruby-1.9.2-p318/bin/ruby /usr/local/rvm/gems/ruby-1.9.2-p318/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets /usr/local/rvm/rubies/ruby-1.9.2-p318/bin/ruby /usr/local/rvm/gems/ruby-1.9.2-p318/bin/rake assets:precompile:nondigest RAILS_ENV=production RAILS_GROUPS=assets
$ rails s => Booting WEBrick => Rails 3.1.4 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server /usr/local/rvm/gems/ruby-1.9.2-p318/gems/actionpack-3.1.4/lib/action_dispatch/http/mime_type.rb:101: warning: already initialized constant PDF [2012-04-08 04:53:06] INFO WEBrick 1.3.1 [2012-04-08 04:53:06] INFO ruby 1.9.2 (2012-02-14) [i686-linux] [2012-04-08 04:53:06] INFO WEBrick::HTTPServer#start: pid=16702 port=3000 Started GET "/assets/images/rails.png" for 127.0.0.1 at 2012-04-08 04:53:14 -0500 Served asset /images/rails.png - 404 Not Found (38ms) ActionController::RoutingError (No route matches [GET] "/assets/images/rails.png"): Rendered /usr/local/rvm/gems/ruby-1.9.2-p318/gems/actionpack-3.1.4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (125.2ms)
तो क्या गलत है: एन, सर्वर (rails s
) और फिर से अनुरोध एक छवि (rails.png
) निष्पादित?, क्या मैं कुछ गलत कर रहा हूं?
साथ रखने के लिए सुझाव है कि यह केवल उत्पादन मोड में है? क्या आपने 'बंडल निष्पादन रेक संपत्तियां चलाई हैं: प्रीकंपाइल '? इसके अलावा, क्या आपके पास स्पॉकेट लाइब्रेरी शामिल है? – pjumble
@pjumble अभी तक नहीं, क्या यह आवश्यक है भले ही मैं विकास के माहौल में हूं? – Israel
मुझे लगता है कि आप उत्पादन मोड में थे, लेकिन नहीं, विकास मोड में आपको संपत्तियों को प्रीकंपाइल करने की आवश्यकता नहीं है। यदि आप URL से '/ images /' को हटाते हैं तो क्या छवि काम करती है? ('http: // localhost: 3000/संपत्ति/rails.png') – pjumble