레일에 루비를 저장하고 데이터베이스 저장소에 파일을 저장하고 거기에서 직접 가져 오는 방법이 있는지 궁금합니다. 그 이유는 데이터베이스에 저장된 모든 사용자 데이터로 CMS를 만들고 싶기 때문에 템플릿을 데이터베이스에 저장하고 싶지만 여전히 전체 ActionView 메커니즘을 보유하고 있기 때문입니다.데이터베이스에서 레일 템플릿에 루비로드
답변
문제점의 해결책은 레일스의 템플릿 엔진입니다.
Liquid 템플릿 엔진은 전자 상거래 시스템 인 Shopify에서 추출합니다. Shopify는 수천 개의 전자 상거래 매장에서 고유 한 디자인을 요구합니다.
MasterView : Rails의 대체 템플릿 엔진.
귀하의 요구 사항에 맞는 것을 선택하십시오.
희망이 도움이됩니다. 몇 가지 경우가있을 경우
나는 액체를 먹어 보았는데, 싫어한다. 보안이 주요 관심사가 아니라면, 액체는 웹 사이트를 개발할 때 손에 넣는 것은 나쁜 것입니다. MasterView는 시도하지 않았지만 살펴볼 것입니다.하지만 궁극적으로 템플릿 저장 추상화가 있는지, 확실하지는 않습니다. –
, 당신은 간단한 사용 렌더링 할 수 있습니다
template = UserTemplate.find(<find criteria>)
render :inline => template.text
주 내가 주로 데이터베이스를 사용하는 것입니다, 그러나, (UserTemplate
이 템플릿을 모델링 클래스라고 가정) 동적으로 수정 된 템플릿 용 템플릿. 확실히 그것을 사용하고 있습니다 - Rhiza에서 우리는 고객이 자신의 환영 섹션을 동적으로 수정할 수 있도록 허용합니다. 동적 템플릿이 필요합니다.
AR! 올바른 알림입니다. 더 좋은 대안이 없다면 답이 의미가 있습니다. –
@KathyVanStone 먼저이 답변에 대해 감사 드리고 싶습니다. 이제 저는 2010 년으로 조금 오래되었지만, 액체 템플리트에 대한 귀하의 의견을 알고 싶습니다. "렌더링 : 인라인"대신에 액체 템플리트를 사용하는 이점이 있습니까? 방법? 감사 – medBo
맞춤형 템플릿 해결 프로그램을 만드는 것이 좋습니다. this을 확인하십시오. 파일 시스템에서 페치 (fetch)하는 대신 데이터베이스에서 페치 (fetch)하는 사용자 정의 리졸버가 필요합니다.
둘 다 할 수 없습니까? 모든 사용자 데이터를 데이터베이스에 저장하고 사용자 데이터에 대해 정의 된 영역이있는 템플릿 파일을 가지고 있습니까? –
그건 같지 않아요. 사용자가 수정할 수있는 템플릿과 데이터가 필요합니다. –