【发布时间】:2010-09-13 11:25:38
【问题描述】:
我的网站Rap Genius 解释说唱歌词。我想创建一个新网站 Rock Genius 来解释摇滚歌词 - 否则它将是相同的(相同的布局,相同的数据库架构;就像 Serverfault 对 Stackoverflow 一样)
最好的方法是什么?
方法一:分叉代码
fork Rap Genius 代码,更改相关部分(例如,“Rap” -> “Rock”),创建新数据库并前往城镇。
- 优点:可以快速运行
- 缺点:向两个应用程序添加功能会有些痛苦。此外,不可能让 Rap Genius 在 DB 级别访问 Rock Genius 的数据
方法 2:保留一个应用程序
每当我的应用程序收到请求时,请检查域。如果是rapgenius.com,则将SITE_NAME 常量设置为"rapgenius"。在面向用户的实体(歌曲、博客文章等)上创建一个 genre 字段,并根据 SITE_NAME 更新我的查询以使用正确的流派
在面向用户的字符串之上创建一个抽象层,我可以写成<%= welcome_message %> 而不是Welcome to Rap Genius!,并让welcome_message() 考虑SITE_NAME
- 优点:非常灵活
- 缺点:工作量很大!
想法?
【问题讨论】:
标签: ruby-on-rails fork