2013-05-29 6 views
5

मैं सिर्फ एक बादल सर्वर पर अपने आवेदन की तैनाती और फिर एक त्रुटि enconter:परिनियोजन रेल ऐप। JQuery-यूआई त्रुटि

ActionView::Template::Error (couldn't find file 'jquery-ui' 
    (in /home/me/.rvm/gems/ruby-1.9.3-p429/gems/activeadmin-0.6.0/app/assets/javascripts/active_admin/base.js:2)): 

मैं पहले एक साझा मेजबान पर एक ही एप्लिकेशन को तैनात लेकिन मैं इस त्रुटि previoulsy नहीं मिला। तो मुझे लगता है कि मुझे अपनी तैनाती में कुछ याद आती है। Btw base.js में:

//= require jquery 
//= require jquery-ui 
//= require jquery_ujs 
//= require active_admin/application 

और मेरे एप्लिकेशन/आस्तियों/javascripts/application.js.erb में:

//= require Player/soundmanager2-nodebug-jsmin.js 
//= require jquery 
//= require jquery.ui.all 
//= require jquery_ujs 
//= require best_in_place 
//= require best_in_place.purr 
//= require jquery-fileupload 
//= require contextMenu/jquery.contextMenu.js 
//= require contextMenu/jquery.ui.position.js 
//= require_tree . 
//= require_tree ./Player 

संपादित करें: मेरे Gemfile में:

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 
gem 'jquery-fileupload-rails' 
gem 'jquery-ui-rails' 

उत्तर

2

group :assets ब्लॉक से gem jquery-ui को हटाने के लिए यह कुछ तय किया गया और पाया कि मेरे लिए यह तय किया गया है। इसके अलावा आप gemfile में देखेंगे यह निम्नलिखित कहते हैं:

# Gems used only for assets and not required 
# in production environments by default. 

तो यकीन है कि यह :assets समूह का हिस्सा नहीं है

अद्यतन

मेरा मानना ​​है कि अपने application.js दिखना चाहिए के अपने आदेश इस तरह:

//= require jquery 
//= require jquery_ujs 
//= require_tree . 
// 
//= require jquery-ui 
//= require jquery.ui.all 
//= require active_admin/application 
//= require Player/soundmanager2-nodebug-jsmin.js 
//= require best_in_place 
//= require best_in_place.purr 
//= require jquery-fileupload 
//= require contextMenu/jquery.contextMenu.js 
//= require contextMenu/jquery.ui.position.js 

इसके अलावा बस यह सुनिश्चित करने के लिए कि आपका सेटअप सह है में rrect अपने application.rb आप होना चाहिए:

Application.rb

if defined?(Bundler) 
    # If you precompile assets before deploying to production, use this line 
    Bundler.require(*Rails.groups(:assets => %w(development test))) 
    # If you want your assets lazily compiled in production, use this line 
    # Bundler.require(:default, :assets, Rails.env) 
end 

production.rb

# Disable Rails's static asset server (Apache or nginx will already do this) 
    config.serve_static_assets = false 

    # Compress JavaScripts and CSS 
    config.assets.compress = true 

    # Don't fallback to assets pipeline if a precompiled asset is missed 
    config.assets.compile = true 

जब आप निम्न आदेश क्या करना चाहते हैं: bundle exec rake assets:precompile:all RAILS_ENV=production

+0

मणि 'jQuery-ui-रेल' संपत्ति समूह – GeorgesLeYeti

+0

के बाहर पहले से ही है:

इस बीच, सिर्फ इतना है कि अभी भी अपने Gemfile में JQuery यूआई के लिए जावास्क्रिप्ट शामिल jQuery-रेल के एक पुराने संस्करण का अनुरोध @GeorgesLeYeti यदि आप त्रुटि को देखते हैं तो यह कहता है '(फ़ाइल' jquery-ui '' नहीं मिल सका, यह 'jquery-ui'' की तलाश में है। आपकी पिछली टिप्पणी से आपने अभी उल्लेख किया है कि 'मणि' jquery-ui-rails ' ' – David

+0

@GeorgesLeYeti इसके अलावा आधारभूत संरचना 'jquery' फ़ाइलों को पहले कहा जाना चाहिए। आपकी आवश्यक फाइलों का क्रम महत्वपूर्ण है। और भी मुझे नहीं पता कि आपके पास' ऐप/संपत्ति/जावास्क्रिप्ट/application.js.erb' क्यों नहीं है मुझे कोई समझ नहीं आया तुमने क्यों किया यह – David

6

मैं इस मुद्दे के साथ संघर्ष कर रहा हूं। ..

मेरा मानना ​​है कि आप एक्टिवएडमिन और jquery-rails मणि के बीच हाल ही में निर्मित हेडबूट में चल रहे हैं; प्रति कॉन्फ़िगरेशन में कुछ भी गलत नहीं है।

jquery-rails jQuery UI के लिए जावास्क्रिप्ट की एक प्रति शामिल करने के लिए उपयोग किया जाता है (लेकिन सीएसएस नहीं, सुनिश्चित नहीं क्यों)। यही है

//= require jquery-ui 

ActiveAdmin की base.js फ़ाइल में खींचा गया है। हाल ही में, jquery-rails ने JQuery UI जावास्क्रिप्ट को शामिल करने को छोड़ दिया है, इसलिए अब ऊपर की रेखा कुछ भी नहीं बताती है और एक संपत्ति निर्माण त्रुटि का कारण बनती है। jQuery-ui-रेल स्थापित कर रहा है, ताकि उचित पंक्ति की आवश्यकता होती है मदद नहीं करता है, क्योंकि वह मणि फ़ाइलों का नाम बदलता

//= require jquery.ui.all 

शायद jQuery-रेल के पिछले संस्करणों के साथ संघर्ष से बचने के लिए है।

दुर्भाग्य से, ActiveAdmin आसानी से jquery-rails की बजाय jquery-ui-rails पर खुद को पुनर्जीवित नहीं कर सकता है और कम से कम this issue report के अनुसार रेल 3.0 के साथ पिछड़ा संगतता बनाए रख सकता है। तो एक समाधान आने में कुछ दिन हो सकता है।

gem 'jquery-rails', '<3.0.0' 
+0

पर आपके जेएस की आवश्यकता के लिए एसेट पाइपलाइन के बाद यह अच्छा अभ्यास है। मैंने सभी प्रकार की चीजों की कोशिश की और अंत में '<3.0.0' काम किया। धन्यवाद! – Lavixu

+0

तथ्य यह है कि फ़ाइल का नाम बदल दिया गया था मेरा मुद्दा था। इसके लिए धन्यवाद :) – McCee

संबंधित मुद्दे