2013-07-24 39 views
58

Tôi nhận được lỗi sau thậm chí nếu tôi có jquery-ui trong application.js tôi nộpKhông thể tìm thấy tập tin 'jquery-ui'

không thể tìm thấy tập tin 'jquery-ui' (trong/home/jeff/công việc/dự án/a/media/app/tài sản/Javascripts/application.js: 14)

application.js

//= require jquery 
//= require jquery_ujs 
//= require jquery-ui 
//= require jquery.validate.min 

ai có thể giúp tôi?

+0

là đá quý "jquery-rails" được cài đặt? – Debadatt

+0

Ya. Tôi đã có đá quý trong Gemfile – Sam

+1

sử dụng phiên bản cụ thể của đá quý "jquery-rails", "2.3.0" hoặc bạn có thể sử dụng đá quý "jquery-ui-rails" cho jquery-ui như phiên bản sau của đá quý đã xóa phần ui – Debadatt

Trả lời

114

Sử dụng phiên bản cụ thể của gem "jquery-rails", "~> 2.3.0" như phiên bản sau này của đá quý đã xóa phần ui.

hay

bạn có thể sử dụng gem "jquery-ui-rails" cho jquery-ui. Để biết thêm thông tin vui lòng truy cập git repository

Yêu cầu tất cả các module jQuery UI, thêm dòng sau vào application.js của bạn:

cho phiên bản 5.0 và nhiều hơn nữa nó đã được thay đổi. Hãy làm theo các application.js link

:

//= require jquery-ui 

application.css:

/* 
*= require jquery-ui 
*/ 

Đối với phiên bản thấp hơn so với 5.0 chúng ta cần phải viết dưới dạng

application.js:

//= require jquery.ui.all 

Cũng thêm jQuery UI CSS để application.css của bạn:

application.css:

/* 
*= require jquery.ui.all 
*/ 

Hy vọng điều này có thể giúp bạn

+0

Nếu tôi đặt đá quý "jquery-ui-rails" trong Gemfile của tôi, sau đó lỗi đến như không thể tìm thấy tập tin 'jquery' – Sam

+0

Nhưng đá quý 'jquery-rails', "~> 2.3 .0 "hoạt động tốt. cảm ơn – Sam

+9

tôi thấy rằng tôi đã phải khởi động lại ứng dụng để bổ sung jquery-ui-ray để thực hiện. bước tôi đã: 1. thêm gem 'jquery-ui-rails' vào Gemfile. 2. chạy cài đặt bó. 3. thêm vào yêu cầu để application.js và application.css 4. khởi động lại ứng dụng đường ray. làm việc tốt cho tôi bây giờ. – Andrew

35

Tôi nghĩ bạn đang sử dụng phiên bản mới (phiên bản> 2.3.0) của đường ray jquery.

jQuery UI đã bị xóa khỏi jquery-ray đá quý,

  • ≤ jquery-rails v2.3.0 vẫn sẽ sử dụng jQuery UI
  • ≥ jquery-rails v3.0.0 jQuery UI loại bỏ

Hãy xem this commit.

Nếu bạn đang sử dụng ≥ jquery-rails v3.0.0 hoặc phiên bản mới nhất của jquery-ray

Bạn nên sử dụng jquery-ui-rails đá quý cho việc sử dụng giao diện người dùng jquery trong đường ray, https://github.com/joliss/jquery-ui-rails.

Trong Gemfile của bạn, thêm:

gem 'jquery-ui-rails'

và chạy bundle install

  1. v2.3.0 < phiên bản ≤ bạn v4.2.1

    Và đặt này vào application.js

    //= require jquery.ui.all 
    

    sau đó đặt này vào application.css

    *= require jquery.ui.all 
    
  2. ≥ jquery-ui-ray v5.0.0 hoặc phiên bản mới nhất

    Và đặt này vào application.js

    //= require jquery-ui 
    

    sau đó đặt này vào application.css

    *= require jquery-ui 
    

    hoặc sử dụng các module cụ thể read this

Đừng quên khởi động lại máy chủ của bạn.

Nếu bạn đang sử dụng ≤ jquery-rails v2.3.0

xem câu trả lời của tôi ở đây https://stackoverflow.com/a/16996710/1297435 để sử dụng gem 'jquery-rails', "~> 2.3.0"

+0

gem 'jquery-rails', "~> 2.3.0" hoạt động tốt. cảm ơn – Sam

+1

Những thay đổi của bạn ở đây có vẻ tương lai hơn so với phiên bản cụ thể của gemfile. Cảm ơn câu trả lời này. – Broam

+0

Tôi không thể làm cho nó hoạt động với 'gem' jquery-rails ', "~> 2.3.0" ' vì vậy cuối cùng xóa jquery-rails và chỉ sử dụng' gem 'jquery-ui-rails'' trong trường hợp đó bạn cũng cần xóa '// = yêu cầu jquery' ' // = yêu cầu jquery_ujs' từ application.js, nếu không bạn vẫn có thể gặp lỗi. Điều đó đã làm cho các trick cho tôi ... – PSR

9

Đường ray 4 câu trả lời:

add để gemfile.rb:

gem 'jquery-ui-rails' 

thêm vào application.js:

//= require jquery 
//= require jquery-ui 
//= require jquery_ujs 

để thêm một module cụ thể:

//= require jquery 
//= require jquery-ui/yourmodulename 
//= require jquery_ujs 

tôi m không chắc chắn nếu khởi động lại máy chủ của bạn được yêu cầu một cách rõ ràng nhưng nó không bao giờ làm tổn thương bất cứ điều gì.

+1

Có! Khởi động lại máy chủ đã sửa nó cho tôi. – Adam

1

Kind của một sai lầm Noob, nhưng nếu nó giúp bất cứ ai ..

tôi thêm jQuery-ui.js vào tài sản của tôi và sau đó thêm vào viên ngọc. Sau đó, xóa các js khỏi các tài sản, nhưng IDE của tôi cũng xóa các tập tin tương tự từ đá quý.

Để giải quyết, đầu tiên loại bỏ các đá quý và sau đó chạy,

bundle clean --force 

và sau đó

bundle install 
4

Tôi biết nó là một sai lầm Noob nhưng tôi thấy điều này rất bực bội và luôn quên khởi động lại ứng dụng của tôi sau khi tôi đã cài đặt một cái gì đó mới.

Đảm bảo khởi động lại máy chủ đường ray sau khi bạn đã làm theo hướng dẫn ở trên và nó sẽ hoạt động hoàn hảo.

+0

không thể tin rằng đó là sai lầm của tôi. –

0

Nó chỉ có thể là vấn đề khởi động lại WEBrick hoặc bất kỳ máy chủ nào khác mà bạn có thể đang sử dụng để nó chọn nội dung mới. Đối với WEBrick chỉ cần vào cửa sổ terminal của bạn, nơi máy chủ của bạn đang chạy và CTRL-C để chấm dứt quá trình, sau đó chỉ cần khởi động lại nó bằng cách sử dụng rails s hoặc bất kỳ lệnh nào để khởi động máy chủ của bạn.

Các vấn đề liên quan