이전 Rails 3.2 프로젝트를 Rails 4.2로 변환하고 이미지 및 글꼴 에셋이 제대로로드되지 않았다는 사실을 발견했습니다. 레일 서버 로그에 오류가 없거나 Chrome의 개발 콘솔에 표시되었지만 이미지와 글꼴이 페이지에 표시되지 않았습니다.image_url vs image-url Rails 4.2 SCS
RubyMine을 사용하고 scss
파일을 보면 IDE가 image-path
및 font-path
의 사용에 대해 불만을 나타 냈습니다. 하이픈을 밑줄 (image_path
font_path
)로 변경하면 이미지와 글꼴이 웹 페이지에 나타납니다.
최근에 하이픈으로 연결된 함수를 더 이상 사용할 수 없게 변경 되었습니까? 하이픈과 밑줄 함수가 서로 별칭이 있습니까?
밑줄 함수 이름 (내부 안쪽 톱니 sass_functions의) 여기 표시 :
require 'sass'
module Sprockets
module SassFunctions
def asset_path(path)
::Sass::Script::String.new(sprockets_context.asset_path(path.value), :string)
end
def asset_url(path)
::Sass::Script::String.new("url(" + sprockets_context.asset_path(path.value) + ")")
end
def image_path(path)
::Sass::Script::String.new(sprockets_context.image_path(path.value), :string)
end
def image_url(path)
::Sass::Script::String.new("url(" + sprockets_context.image_path(path.value) + ")")
end
def video_path(path)
::Sass::Script::String.new(sprockets_context.video_path(path.value), :string)
end
def video_url(path)
::Sass::Script::String.new("url(" + sprockets_context.video_path(path.value) + ")")
end
def audio_path(path)
::Sass::Script::String.new(sprockets_context.audio_path(path.value), :string)
end
def audio_url(path)
::Sass::Script::String.new("url(" + sprockets_context.audio_path(path.value) + ")")
end
def font_path(path)
::Sass::Script::String.new(sprockets_context.font_path(path.value), :string)
end
def font_url(path)
::Sass::Script::String.new("url(" + sprockets_context.font_path(path.value) + ")")
end
def javascript_path(path)
::Sass::Script::String.new(sprockets_context.javascript_path(path.value), :string)
end
def javascript_url(path)
::Sass::Script::String.new("url(" + sprockets_context.javascript_path(path.value) + ")")
end
def stylesheet_path(path)
::Sass::Script::String.new(sprockets_context.stylesheet_path(path.value), :string)
end
def stylesheet_url(path)
::Sass::Script::String.new("url(" + sprockets_context.stylesheet_path(path.value) + ")")
end
protected
def sprockets_context
options[:sprockets][:context]
end
def sprockets_environment
options[:sprockets][:environment]
end
end
end
- 사스-3.4.10
- 레일-4.2.0
- 사스 레일 5.0. 1 개
- 톱니-2.12.3는
Sass는 이미지 경로 또는 글꼴 경로 도우미를 제공하지 않습니다. Ruby에서 하이픈과 밑줄을 교환 할 수없는 사용자 정의 Sass 함수를 작성할 수 있습니다. – cimmanon
나는 OP가 [sass-rails] (https://github.com/rails/sass-rails) 보석을 사용하고 있다고 추측하고 있는데, 이것은 하이픈 처리 된 이름을 가진 sass 기능을 제공합니다. OP, IDE가 불평한다고 말하지만 코드가 실제로 작동하는지 여부는 밝히지 않았습니다. 그거야? –
@Jordan - 좋은 캐치, 그것은 sass-rails 보석입니다. 내 질문에 명확히하려고합니다. 그러나 하이픈이 연결된 함수 이름이 작동하지 않습니다. 던져진 아무 오류도 없다, 그러나 심상 및 글꼴은 나타나지 않았다. 밑줄 메서드로 변경되면 자산은 –