2011-09-29 4 views
10

Rails가 'asset_path'도우미와 같은 CSS 파일과 같은 내 애셋에 맞춤 메소드를 추가하려면 어떻게해야합니까?Rails 3.1 자산 파이프 라인에 맞춤 메소드를 추가 하시겠습니까?

레일 자신의 도우미와

,이 쓸 수 있습니다 :

# some.css.erb: 

<%= asset_path 'a_image.png' %> 

# How can I write this: 

<%= my_custom_method 'a_image.png' %> 

나는 많은 방법을 시도했지만이에 알맞은 방법을 발견 할 수 없었다. 너는 그걸 알고 있니?

감사합니다.

답변

18

내가 찾은 가장 좋은 방법은 응용 프로그램/헬퍼에서 사용자 지정 도우미 모듈을 만드는 것이었다

module Sprockets::Helpers::RailsHelper 
    require Rails.root.join('app', 'helpers', 'assets_helper.rb') 
    include AssetsHelper 
end 

그리고 당신은 더 나은 방법을 찾기 위해이 문제를 따를 수 있습니다 내가 너무 Heroku가 작업을 할 희망 추가 할 경우 https://github.com/rails/rails/issues/3282

0

일반 도우미 메서드는 자산보기에서 사용할 수 없습니다. 자신 만의 메소드를 추가하려면 Sprockets 도우미 모듈을 확장해야합니다. 내장형 도우미 look at the code을 사용하여이 작업을 수행하는 방법을 확인하십시오.

간단히 말해서 lib와 동일한 구조로 파일을 추가하고 나만의 방법을 추가 할 수 있습니다. 새 라이브러리를 응용 프로그램 초기화 프로그램에 포함시키는 것을 잊지 마십시오. 응용 프로그램 구성 (맨 아래) 후,

module AssetsHelper 
    def my_custom_helper_method 
    # do something 
    end 
end 

그리고 application.rb에서 다음과 같이 그것을 필요로 :

+0

합니다. 답변 해주셔서 감사합니다. 그것은 나를 위해 선택 사항이되었습니다. 레일을 포크로 만들어이 기능을 직접 추가해야 할 수도 있습니다. –

관련 문제