2011-02-03 3 views
1

"홈"컨트롤러 용 index.html.haml 파일을 가져올이 haml을 가진 응용 프로그램을 상속했습니다.haml보기에서 = fl 의미는 무엇입니까

= fl 
- if logged_in? 
    = render :partial => 'logged_in_home' 
- else 
    = render :partial => 'marketing_home' 

if 문은 분명하지만 무엇을합니까? 나는 haml 문서에서 그것을 찾거나 찾을 수 없다.

+0

일반적인 것은 아니지만, home_helper에서 보았습니까? –

+1

로컬 변수 일 수도 있습니다 –

답변

2

= fl은 내장 된 haml 메소드가 아닙니다. 그것은 다음과 같은 장소 중 하나에 정의 된 경우 볼을 시도 할 수 있습니다 :

  • 응용 프로그램/컨트롤러/application_controller
  • 응용 프로그램/도우미/application_helper
  • 응용 프로그램/도우미/home_helper
  • 다른 응용 프로그램/헬퍼/* _ 도우미 파일
  • 라이브러리 코드 (lib 디렉토리/*)
  • 플러그인/보석 코드
+0

thaks 내 application_helper에서 찾았습니다. 실제로 플래시 알림을위한 방법이었습니다 : –

+1

메소드와 변수 이름을 쉽게 이해할 수 있도록 정의하는 것이 중요합니다; D ('= flash_notices'는 여기에 질문을 게시하지 않을 것입니다) – PeterWong

0

제 생각 엔 로컬 변수입니다. 특히 부분적으로 내부 변수 인 경우 더욱 그렇습니다. 페이지를 실행할 때 어떤 일이 발생합니까? 부분품 위에 무엇이 나타 납니까?

0

fl이 응용 프로그램 또는 플러그인 중 하나에 의해 정의 된 것처럼 응용 프로그램에 무엇인지 모릅니다.

그러나 나는 당신에게 그것을 알아내는 마술 트릭을 말할 것입니다. 그 사실은 매우 간단합니다 :

  • 스틱 그냥 전에 디버거)

그냥

= require 'ruby-debug';debugger;fl 

을 그리고 당신의 페이지를 새로 고칩니다. 서버는이 줄에서 중지되어야합니다. '플로리다'내부 기능을 단계로 s를 사용하여 정확히 발견 할 것이다 어디 그것

  • 아니라 경우 (*)의 99.99 %에, 훨씬 도움이되지 않습니다 경우가있을 수 있습니다 예를 A에 대한 메서드는 동적으로 소스 파일과 행을 설정하지 않고 정의됩니다.