2015-01-16 2 views
0

여러 페이지/부분에 걸쳐 사용 금지 문자 블록이 있습니다.다른보기 파일에 사용할 상수 (예 : 텍스트 문자열)를 저장하는 방법

  1. 메이크업 텍스트 블록 부분 자체를 다음 내가 공유로 텍스트 블록을 저장
  2. 이 환경 변수
  3. 로 텍스트 블록을 저장해야 할 때마다 부분이 전화 : 나는 내가 할 수있는 그림 # 3의

예 :

def disclaimer 
    @text = "text" 
end 

def homepage 
    disclaimer 
end 

def page_one 
    disclaimer 
end 

# then the view file for homepage or page_one would just call @text 
012 다음 인스턴스 변수와 방법, 및 모든 방법의 인스턴스 변수과 같이 필요한 페이지에 대응하는 것을 포함

"레일스"는 다음 중 어느 것입니까?

답변

1

질문에 언급했듯이이를 수행 할 수있는 방법이 몇 가지 있습니다. 가장 좋은 방법은 부분을 사용하거나 도우미를 만들고 도우미에서 면책 조항을 정의하는 것입니다.

헬퍼가 부분을 렌더링하지 않기 때문에 헬퍼가 조금 더 빨라야합니다. 면책 조항이 정적 텍스트 인 경우이 방법이 최선책입니다. 고지 사항에 HTML을 사용하고 있다면 부분적인 것을 사용하는 것이 좋습니다.

예 도우미 :

module DisclaimerHelper 
    def disclaimer 
    "This is the static text of my disclaimer." 
    end 
end 
+0

헬퍼 메서드는 컨트롤러에서 액세스하지 않는다는 점을 제외하면 메서드 # 3과 매우 유사합니다. 헬퍼는 앱/헬퍼에 배치하는 한 뷰에서 직접 사용할 수 있습니다. –

+0

오 와우, 그걸 몰랐어, 고마워! – james

+0

헬퍼 정의의 예제를 추가했습니다. 이것을 사용하기 위해서는 .html.erb에서'<% = disclaimer %>'를 사용하거나 HAML을 사용한다면'= disclaimer'을 사용하면됩니다. –

0

나는 확실히 일반적으로 앱 사용 및 옵션 3은 옵션 1보다 조금 더 복잡한 것처럼 보인다 서비스에 대한 자격 증명을 예약하는 옵션 1. 환경 변수로 갈 것