2

레일즈 3.2 어플리케이션에서 rails-footnotes 보석을 사용하고 있습니다 만 각주의 존재를 등록하는 각주를 얻지 못하는 것 같습니다. 항상 부분 수를 보여줍니다.레일즈 각주의 부분 수는 항상 제로입니다.

쉽게 볼 수있는 부분에 얼마나 많은 부분이 있는지 알 수 있기 때문에 매우 유용하다고 생각하므로 나머지 부분은 훌륭하게 작동하고 싶습니다. 어떤 문제인지 확신 할 수 없으며 다른 누군가가 똑같은 문제를 겪고 그것을 해결할 수 있기를 바라고 있습니다. 잠재적으로 놓친 설정이 있습니까?

나는 그것이 적절하지 않다고 생각하지만, OSX 10.6.8을 사용하고 있으며, Sublime Text 2를 사용하기 위해 보석을 얻는 데 몇 가지 문제가 있었지만 해결되었습니다 (세부 사항은 this StackOverflow answer).

업데이트는 :

내가 ERB 템플릿의 출력을 예상 얻고으로 문제는, HAML 템플릿을 위해 존재하는 것 같다. erb 템플릿 만 계산/인식되는 것 같습니다 ...?

업데이트 2 :

@DonHopkins '답은 아래의 레일 각주에 등록 내 모든 HAML 템플릿을 얻었다.

설정/초기화/rails_footnotes.rb

if defined?(Footnotes) && Rails.env.development? 
    Footnotes.run! # first of all 
    Footnotes::Notes::LogNote::LoggingExtensions.module_eval do 
    def add(*args, &block) 
     super 
     logged_message = args[2] + "\n" 
     Footnotes::Notes::LogNote.log(logged_message) 
     logged_message 
    end 
    end 

    # ... other init code 
    Footnotes::Filter.prefix = 'subl://open?url=file://%s&line=%d&column=%d' 
end 

답변

5

을 내가 HAML을 ERB 템플릿을하지 사용하고 있지만 나는 비슷한 문제를 가지고 다음과 같이 내 config 파일에 넣어. 레일 노트에 원숭이 패치로 수정했습니다.

module Footnotes 
    module Notes 
    class LogNote < AbstractNote 
     ... 
     module LoggingExtensions 
     def add(*args, &block) 
      logged_message = super 
      Footnotes::Notes::LogNote.log(logged_message) 
      logged_message 
     end 
     end 
     ... 
    end 
    end 
end 

add 방법은 super가되고있는 메시지를 반환한다고 가정한다 : 문제는이 방법처럼

는 레일 - 각주 코드 (버전 3.7.9)을 보면, 그것은 나에게 보였다 기록했지만 내 테스트에서는 super이 부울 값을 반환했습니다. 이 문제를 해결하기 위해, 나는 다음과 footnotes_patch.rb라는 파일을 만들어 :

Footnotes::Notes::LogNote::LoggingExtensions.module_eval do 
    def add(*args, &block) 
    super 
    logged_message = args[2] + "\n" 
    Footnotes::Notes::LogNote.log(logged_message) 
    logged_message 
    end 
end 

당신이 해결 방법을 설정/초기화에 해당 파일을 넣어, 다음 응용 프로그램을 다시 시작하려면

.

+0

Brilliant! 이것은 저에게 효과적이었습니다. 별도의 이니셜 라이저 파일 대신, ** Footnotes.run!을 호출하여 ** rails_footnotes.rb ** 파일에 코드를 저장했습니다. 정보를 추가하기 위해 내 질문을 편집 하겠지만 답변을 수락하므로 대단히 감사합니다! –

+0

당신을 위해 다행 이네요. rails_footnotes.rb에 코드를 삽입하는 것에 대한 제안에 감사드립니다. 그게 더 좋은 위치에있는 것처럼 보이고, 나는 똑같이 할 것입니다. –

+0

이것은 부분적으로 SLIM 템플릿에서도 작동하는 것처럼 보이지만'_vocabulary' 부분 ('_vocabulary' 부분을 표현함)이 아니라'_vocabulary' 부분도 표시합니다. –