在Rails应用程序中实现皮肤的最佳方法是什么

时间:2011-10-18 22:12:42

标签: ruby-on-rails ruby-on-rails-3 skinning skins

使用Rails,我正在构建几个非常相似的站点。我想将这些实现为一个Rails应用程序来回答多个域,并根据域名更改呈现的内容和处理逻辑。我需要更改/每个站点皮肤的区域是:

  • 观看次数:网页上的字段因网站而略有不同。有些网站比其他网站拥有更多/不同的字段,但有些网站在所有
  • 中都很常见
  • 模型(最好通过为主模型定义一个超类来实现这一目标,该模型可以改变并实现每个站点的子列表)
  • 控制器逻辑。有很多相似之处,但有一些小的处理差异,包括处理
  • 的Model子类
  • CSS(看起来相当简单)

我已经实现了一种机制,使视图,控制器和模型可以看到当前的域名/应用名称。

我在考虑为每个站点定义一个视图部分,并使用ERB逻辑来包含正确的视图。控制器似乎是最不明显的部分。

非常感谢任何建议。

干杯 保罗

1 个答案:

答案 0 :(得分:0)

我已经为我们的应用程序HiringThing(http://www.hiringthing.com)实现了类似的东西

为此,我们在应用程序控制器上使用before_filter来解析request.host并确定请求所针对的网站。然后设置我们在视图,控制器和模型中引用的变量@site,以确定运行时的版本控制要求。