4
다른 헬퍼와 뷰에서 사용할 수있는 자바 스크립트를 인쇄 할 때 도우미를 작성하면 다음과 같은 문제가 발생했습니다.신비한 Ruby 차단 동작 : & block vs. {block.call}
def javascript(print_tag = false, &block)
content_for(:javascript) do
if print_tag
javascript_tag(&block) # does not work
javascript_tag { block.call } # does work
else
capture(&block)
end
end
end
이 도우미는 javascript { "alert('hurray'); }
와 함께 호출되어야합니다.
첫 번째 대안 - 내가 기대했던 - Rails javascript_tag helper은 빈 <script type="text/javascript"> //<![CDATA[ //]]> </script>
태그를 렌더링합니다.
그러나 두 번째 대안은 예상대로 작동합니다.
무슨 일 이니? 어떻게 다를 수 있습니까?
오 ... 무슨 까다로운 구현! 사실 나는 Haml :'javascript (true) {fire_flash} if flash_message.present?'를 사용하고 있으며, 1 줄에 괜찮 으면 4 줄로 작성하고 싶지 않습니다. 그러나, 대단히 감사합니다! – crispy