我的网站接近结构完工。基本上,它由用户和照片组成。但是,照片有很多HABTM关系,其中大多数是不同类型的标签,其他是类别,集合等...
我的客户希望能够根据正在查看的内容进行有条件的CMS,以用于不同的宣传目的或诸如此类的东西。例如,如果用户正在浏览类别“Leprechauns”,他可能想要显示关于圣帕特里克节等的html内容。他甚至可能想要轻松地包含浏览用户的名字(如果有的话)。在这种情况下,拥有某种模板系统会很好。使这个棘手的部分是这些是HTML的小块,如侧边栏中的300x300空间,并不是主要内容。
我研究过炼油厂,但这似乎是一个完整的解决方案。我也考虑过从头开始构建,但我不知道从哪里开始将动态生成的页面(例如新类别)视为Rails中的可识别对象。我希望保持它比一系列HABTM关系更全球化,但看起来这可能是我正在前进的地方。理想情况下,他可以制作一些HTML并检查“我想在x和y类别页面和b和z收集页面以及标签Foo和标签栏以及我的主页上显示“
有什么建议吗?我愿意在自制软件上找到宝石或获得稳固的开端。
更新
我正在考虑设置一些模型如下:
cms_contents
============
id:integer
contents:text
timestamps
cms_associations
================
id:integer
cms_content_id:integer
model_id:integer
record_id:integer #optional
secondary_model_id:integer #optional
secondary_record_id:integer #optional
models
======
id:integer
name:string
其中:
cms_content
将包含HTML。cms_associations
将是使用has_many, :through
models
将包含CMS内容可与之关联的模型record_id
,则它与模型索引record_id
,它与提供的模型的记录相关联
ID 例如:
User has_many :photos
Browsing Photos for User(10)
model_id => #User model Id
record_id => 10
secondary_model_id => #Photo model id
因此,您可以自定义用于浏览特定用户的照片的内容,例如特色用户或可能支付广告费用的公司。
对这种结构的任何想法?
答案 0 :(得分:2)
实际上并没有那么复杂。这是你应该做的:
如果您在评论中有其他问题,请与我们联系。
答案 1 :(得分:0)
这几乎就像全能的Ryan Bates一直在寻找我,但最新的Railscast是在CopyCopter上,它正是我正在寻找的,并作为一个单独的应用程序运行,所以我不必担心关于我的主应用程序。我建议有人发现这个以观看截屏视频,因为它看起来非常令人印象深刻。