저는 몇 주 후에 같은 회사의 자회사를위한 웹 사이트를 여러 언어로 처리하는 웹 응용 프로그램을 시작할 계획입니다. 프론트 엔드가 다르게 보일 수 있지만, 모두 그 아래에있는 동일한 모델 디자인을 구독합니다.레일 : 동적 필드 프리젠 테이션을 처리하는 보석이 있습니까?
그러나 주요 요구 사항 중 하나는 각 자회사가 모델의 어떤 필드를 웹 사이트에 표시할지 선택할 수 있다는 것입니다.
예를 들어 :이 회사의 두 자회사, 즉 미국과 스웨덴이있는 경우 둘 다 프로그램을 제시 동일한 모델을 사용, 그래서 Program
모델을
class Program < AR
attr_accessible :starting_at, :ending_at, :name, :price, :country
end
을있다. 그러나 미국 지점은 모든 프로그램이있는 테이블을 보여주고 자하며 각 프로그램에 대해서만 starting_at
, ending_at
, name
및 price
을 표시합니다. 스웨덴 지사에서도 동일하게하고 싶지만 ending_at
이지만 country
으로 표시하고 싶지 않습니다.
또한 웹 인터페이스를 통해 표시 할 필드를 선택할 수 있기를 원합니다. 시간이 지남에 따라 변경 될 수 있기 때문입니다.
많은 메타 모델링이 있었기 때문에 MetaProgram
모델을 생각해 보았습니다. 자회사가 표시되어야하는 필드 등을 보유하고 있습니다.하지만 이렇게하면 ActiveRecord
으로 동적 SQL 문을 만들었습니다. 필자는 어떤 필드를 선택해야하는지 선택해야하기 때문에 실제 데이터를 선택하여 프론트 엔드를 통해 표시해야합니다.
더 나은 해결책이 있습니까? 이런 종류의 물건에 따라?
PS : 모호한 제목
위의 설명대로 슈퍼 고급 CMS를 작성해야한다고 생각합니다. –
하지만 같은 결과를 얻으려면 단순히 nil/empty 인 필드를 표시하지 않는 것이 좋습니다. –
후자를 수행 할 수 없으므로 필드가 비어 있지 않으므로. 요약 수준에 표시되지만 상세한 정보 레이블에 표시되는 것은 단순히 원하지 않습니다. 그리고 네, 일종의 슈퍼 CMS입니다 :-) – Vapire