2009-11-10 2 views
0

레일에 루비를 저장하고 데이터베이스 저장소에 파일을 저장하고 거기에서 직접 가져 오는 방법이 있는지 궁금합니다. 그 이유는 데이터베이스에 저장된 모든 사용자 데이터로 CMS를 만들고 싶기 때문에 템플릿을 데이터베이스에 저장하고 싶지만 여전히 전체 ActionView 메커니즘을 보유하고 있기 때문입니다.데이터베이스에서 레일 템플릿에 루비로드

+0

둘 다 할 수 없습니까? 모든 사용자 데이터를 데이터베이스에 저장하고 사용자 데이터에 대해 정의 된 영역이있는 템플릿 파일을 가지고 있습니까? –

+0

그건 같지 않아요. 사용자가 수정할 수있는 템플릿과 데이터가 필요합니다. –

답변

1

문제점의 해결책은 레일스의 템플릿 엔진입니다.

Liquid 템플릿 엔진은 전자 상거래 시스템 인 Shopify에서 추출합니다. Shopify는 수천 개의 전자 상거래 매장에서 고유 한 디자인을 요구합니다.

MasterView : Rails의 대체 템플릿 엔진.

귀하의 요구 사항에 맞는 것을 선택하십시오.

희망이 도움이됩니다. 몇 가지 경우가있을 경우

+0

나는 액체를 먹어 보았는데, 싫어한다. 보안이 주요 관심사가 아니라면, 액체는 웹 사이트를 개발할 때 손에 넣는 것은 나쁜 것입니다. MasterView는 시도하지 않았지만 살펴볼 것입니다.하지만 궁극적으로 템플릿 저장 추상화가 있는지, 확실하지는 않습니다. –

2

, 당신은 간단한 사용 렌더링 할 수 있습니다

template = UserTemplate.find(<find criteria>) 
render :inline => template.text 

주 내가 주로 데이터베이스를 사용하는 것입니다, 그러나, (UserTemplate이 템플릿을 모델링 클래스라고 가정) 동적으로 수정 된 템플릿 용 템플릿. 확실히 그것을 사용하고 있습니다 - Rhiza에서 우리는 고객이 자신의 환영 섹션을 동적으로 수정할 수 있도록 허용합니다. 동적 템플릿이 필요합니다.

+0

AR! 올바른 알림입니다. 더 좋은 대안이 없다면 답이 의미가 있습니다. –

+0

@KathyVanStone 먼저이 답변에 대해 감사 드리고 싶습니다. 이제 저는 2010 년으로 조금 오래되었지만, 액체 템플리트에 대한 귀하의 의견을 알고 싶습니다. "렌더링 : 인라인"대신에 액체 템플리트를 사용하는 이점이 있습니까? 방법? 감사 – medBo

1

맞춤형 템플릿 해결 프로그램을 만드는 것이 좋습니다. this을 확인하십시오. 파일 시스템에서 페치 (fetch)하는 대신 데이터베이스에서 페치 (fetch)하는 사용자 정의 리졸버가 필요합니다.

관련 문제