2011-06-04 8 views
17

He agregado //=require jquery-ui a mi archivo application.js y eso parece darme el javascript, pero parece que no puedo conseguir que se incluyan las hojas de estilo. Si entiendo bien, deberían ir al vendor/stylesheets, pero ¿cómo hago que se incluyan?¿Cómo agrego jquery-ui a una aplicación Ruby on Rails 3.1?

+1

Duplicado: http://stackoverflow.com/questions/6133818/rails-3-1-and-jquery-ui-assets – epochwolf

+0

@epochwolf ¡increíble, gracias! – chris

Respuesta

6

cita de the jquery-rails manual:

Para utilizar las partes temáticas de jQuery UI, también tendrá que proporcionar su propio CSS tema. Vea jqueryui.com para más información.

¡Así que tienes que incluirlos o diseñarlos tú mismo! Solo incluya el tema .css en el encabezado de su página. En Rails 3 pondría el CSS en public/stylesheets, no lo sé para Rails 3.1.

11

Puede usar google CDN, para agregar el tema css dentro de la sección principal de su aplicación. Simplemente agregue esta application.html.haml debajo de la sección% head (o lo mismo se tradujo a erb).

El tema css

%link{:href => "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.8/themes/ui-lightness/jquery-ui.css", :rel => "stylesheet", :type => "text/css"} 

Si desea que el jquery-ui minified.

%script{:src => "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.8/jquery-ui.min.js"} 
+0

Sí, esa es una opción, pero me gustaría saber cómo incluir los archivos del proveedor/assets/stylesheets si es que así es como debe ser. – chris

+0

Descargue jqeury-ui.css en public/stylesheets/y haga stylesheet_link_tag ("jquery-ui") también puede ponerlo en otros directorios, simplemente cambie la ruta. – daniel

+0

Sí, eso funciona igual pero no se puede combinar en application.css como js. Soy nuevo en los rieles así que disculpe mi ignorancia. – chris

8

si se incluye 'jquery-rails' en Gemfile jquery-ui se incluirán en esta requiriendo application.js:

// = requerir jquery-ui.min

si se ejecuta en la consola: Rails.application.config.assets.paths obtendrá todas las rutas en las que Rails buscará los activos. En mi caso, por ejemplo:

- /Users/aldo/Satio/Desarrollo/rails/subaquaclub/app/assets/images 
- /Users/aldo/Satio/Desarrollo/rails/subaquaclub/app/assets/javascripts 
- /Users/aldo/Satio/Desarrollo/rails/subaquaclub/app/assets/stylesheets 
- /Users/aldo/Satio/Desarrollo/rails/subaquaclub/vendor/assets/javascripts 
- /Users/aldo/Satio/Desarrollo/rails/subaquaclub/vendor/assets/stylesheets 
- /Users/aldo/.rvm/gems/[email protected]/gems/jquery-rails-1.0.13/vendor/assets/javascripts 

¿Ver la última línea? si registras allí encontrarás jquery-ui así que ahí tienes.

+0

Awesome. Funcionó muy bien. Como no necesito jQuery UI en todas partes, agregué la línea de solicitud anterior al archivo js de mi controlador (Rails 3.1, por ejemplo, projects.js.coffee) – Ryan

2

Si tiene jquery-carriles en Gemfile, simplemente:

//= require jquery-ui 

o

//= require jquery-ui.min 

tanto funcionará bien. Si no, trate de actualizar la gema jquery-rails

No se olvide de los archivos CSS, aquí he seguido algunos artículos sobre esa otra respuesta: Ruby on Rails 3.1 and jQuery UI images y tengo trabajo de esta manera:

*= require jquery-ui/jquery-ui.css 

esto es la ruta de los archivos:

vendor/assets/stylesheets/jquery-ui/jquery-ui.css 
vendor/assets/images/jquery-ui/images/ (your theme images) 
4

jquery-rails ya no tiene jquery-ui como parte de sus activos. Debe usar gem 'jquery-ui-rails' para eso.

Por otra parte, para saber cuando un activo viene en forma de rieles, puede hacer lo siguiente:

paths = Rails.application.config.assets.paths 
for path in paths do 
    puts "Found in: #{path}" if Dir.glob("#{path}/*").grep(/jquery-ui/).present? 
end 

Esto debería hacer más fácil encontrar el activo.

5

Sólo recuerde //= require jquery.ui.all necesidades a ser después de //= require_tree .

perdido mucho de mi tiempo debido a esto ya que la mayoría de las funcionalidades de jQuery UI no va a funcionar.

Cuestiones relacionadas