rails bootstrap ruby-on-rails sass asset-pipeline

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