2012-02-11 15 views
5

Estoy creando un nuevo proyecto de rails 3.2 y todo está bien cargado, excepto las últimas modificaciones que realicé en los archivos css.rieles 3.2 y modificaciones en el archivo css que no se reflejan hasta los activos: precompilación

Si hago app/assets/stylesheets/application.css cambiar nada en este archivo, no puedo ver los cambios en el navegador hasta que ejecute el siguiente comando en la consola:

bundle exec rake assets:precompile RAILS_ENV=development

mi archivo config/environment/development.rb.

Sample::Application.configure do 
    # Settings specified here will take precedence over those in config/application.rb 

    # In the development environment your application's code is reloaded on 
    # every request. This slows down response time but is perfect for development 
    # since you don't have to restart the web server when you make code changes. 
    config.cache_classes = false 

    # Log error messages when you accidentally call methods on nil. 
    config.whiny_nils = true 

    # Show full error reports and disable caching 
    config.consider_all_requests_local  = true 
    config.action_controller.perform_caching = false 

    # Don't care if the mailer can't send 
    config.action_mailer.raise_delivery_errors = false 

    # Print deprecation notices to the Rails logger 
    config.active_support.deprecation = :log 

    # Only use best-standards-support built into browsers 
    config.action_dispatch.best_standards_support = :builtin 

    # Raise exception on mass assignment protection for Active Record models 
    config.active_record.mass_assignment_sanitizer = :strict 

    # Log the query plan for queries taking more than this (works 
    # with SQLite, MySQL, and PostgreSQL) 
    config.active_record.auto_explain_threshold_in_seconds = 0.5 

    # Do not compress assets 
    config.assets.compress = false 

    # Expands the lines which load the assets 
    config.assets.debug = true 
end 

¿Algún ayuda?

+0

¿Inicia su servidor en modo de desarrollo o en producción? ¿Utiliza el mismo puerto alguna vez para el desarrollo, a veces para la producción? ¿Has hecho eso antes, para precompilar los activos? He notado un comportamiento similar, y ahora tengo 2 repositorios, uno para desarrollo y uno para producción para evitar esa situación. – mliebelt

+0

@mliebelt trabajando solo en modo de desarrollo –

+0

¿Le ayuda si detiene y reinicia el servidor para ver los cambios? Nunca tuve este efecto ... ¿Podría agregar la configuración de 'config/environments/development.rb' que está relacionada con los activos? – mliebelt

Respuesta

15

El problema era que había compilado los activos, por lo que los rieles servían la versión ya compilada de estos archivos.

En este caso, todo lo que tiene que hacer es eliminar los archivos ya generados, como application.css y application.css.gz, y lo hará funcionar de nuevo.

Espero que ayude a alguien.

+0

Noté lo mismo y ahora he dividido el desarrollo y la producción: desarrollo sin archivos precompilados, producción con 'assets: precompiled'. Creo que es un error, vea mi pregunta http://stackoverflow.com/questions/9140447/best-deployment-strategy-for-local-used-application-in-rails-3-1-on-windows-7 – mliebelt

1

El paquete activo exec rake assets:clean resuelve el problema. Además, si desea eliminar manualmente estos archivos, están presentes en la carpeta pública de la aplicación dentro de los activos.

+0

Gracias por compartir esto ¡Gracias! :) –

1

Esto es como un hilo viejo, pero he encontrado que a veces un rake assets:clean no se ocupará de ello en Rails 4.2.1. A veces, necesita utilizar un verbo más fuerte como clobber: rake assets:clobber

Cuestiones relacionadas