ruby on rails - bootstrap - actualizar la gema sass-rails a 5.0 da advertencia de desaprobación
sass rails deprecated (3)
Sí, necesita cambiar el nombre de su .css.scss
a .scss
, ya que .css.scss
no será compatible con los piñones 4.
Si desea suprimir la desactivación temporal, puede hacer lo siguiente para config/initializer/deprecations.rb
Rails.application.config.after_initialize do
old_behaviour = ActiveSupport::Deprecation.behavior
ActiveSupport::Deprecation.behavior = ->(message, callstack) {
unless message.starts_with?(''DEPRECATION WARNING: Extra .css in SCSS file is unnecessary.'',
''DEPRECATION WARNING: Extra .css in SASS file is unnecessary.'')
old_behaviour.each { |behavior| behavior[message,callstack] }
end
}
end
O puede parche de mono para no generar el mensaje de esta manera:
module DisableCssDeprecation
def deprecate_extra_css_extension(engine)
if engine && filename = engine.options[:filename]
if filename.end_with?(''.css.scss'',''.css.sass'')
engine
else
super
end
end
end
end
module Sass ; module Rails ; class SassImporter
prepend DisableCssDeprecation
end ; end ; end
Actualizamos a sass-rails versión 5.0.0 y recibimos esta advertencia de obsolescencia:
DEPRECATION WARNING: Extra .css in SCSS file is unnecessary. Rename /Users/foo/Projects/foo/app/assets/stylesheets/foo.css.scss to /Users/foo/Projects/foo/app/assets/stylesheets/foo.scss. (called from _app_views_layouts_application_html_erb__1560597815210891605_70190441246060 at /Users/foo/Projects/foo/app/views/layouts/application.html.erb:13)
Alguien sabe qué está pasando con esto? ¿La gema realmente quiere que cambie el nombre de todos mis activos de hoja de estilos de:
app/assets/stylesheets/foo.css.scss
a:
app/assets/stylesheets/foo.scss
?
Parece correr contra años de la convención Rails para mí. Tal vez hay una manera de suprimir la advertencia de desaprobación?
Esto lo manejó por mí:
#!/bin/sh
for file in $(find ./app/assets/stylesheets/ -name "*.css.scss")
do
git mv $file `echo $file | sed s//.css//`
done
Este comando me ayudó a cambiar el nombre de muchos archivos .css.sass:
find ./app/assets/stylesheets -type f | sed ''p;s//.css/.scss/.scss/'' | xargs -n2 git mv