2014-01-07 6 views
1

app/assets/javascripts/foo.js.coffee.erb 파일에서 이와 같은 기능을 사용하고 싶습니다. > imgName = "= asset_path <%가 ('로드 - - # {크기} .gif 참고') %>"`coffee.erb` 파일에서 루비와 커피 스크립트 변수를 보간하는 법?

이 코드가 작동하지 않습니다, 때문에 = (크기 = "정상적인")는

loadImage 커피 스크립트 변수가 보간되지 않습니다. '<%= asset_path("load-#{size}.gif") %>'을 쓰면 #{size}이 루비 변수로 인식되며 말할 필요도없이 두 함수가 작동하지 않습니다.

어떻게 이런 코드를 작성할 수 있습니까?

+0

Coffeescript 변수와 루비 변수가 섞여서 일치하지 않습니다. Howver, 예제에서 보았 듯이, 단순히 ""<% = asset_path ('load-normal.gif') %> "'할 수 있어야합니다. – kddeisz

+0

이 함수는'loadImage()'와'loadImage ('small')'이라고 부를 수 있습니다. 두 개를 섞을 방법이 없다면 쓴대로 변수없이 쓸 것입니다. 감사! – ironsand

답변

0

경우 누군가가 동일한 검색합니다 :

당신은 그것을 위해 coffee_script_tag을 사용할 수 있습니다.

loadImage = (size="normal") -> imgName = "<%= asset_path('load-#{coffee_script_tag(size)}.gif') %>" 

그 것이 작동합니다.

이상하게 보입니다. 그래서 당신이 뭔가 잘못하고있을 때까지는 이것을 필요로하지 않을 것이라고 생각합니다. 적어도 하나는 페이지가 렌더링 될 때 erb 표현식이 한 번 평가된다는 것을 기억해야합니다.