总有一些静态页面,例如About(about.html),Contacts(contacts.html)等。在一些教程中,作者创建了一个名为“site”的特殊控制器,并定义了“about”,“contacts”的动作,它们只呈现静态页面并允许在其他erb页面中使用link_to。其他作者只是创建静态html页面并使用旧的关于或类似的东西。哪种方法更好(如果有的话)以及为什么选择另一种方法?
答案 0 :(得分:1)
我不喜欢直接从URL栏访问静态资源 - 他们常常在某些时候变成而不是静态,破坏链接,并导致应用程序范围的链接更新。并不总是很重要,因为像这样的东西通常被隔离,但是......并非总是如此,并且当它们不存在时找到它们可能会很痛苦。
我没有看到将它们隔离为静态资源的充分理由,它们通常使用与网站其余部分相同的布局,您可能希望稍后添加行为等。
答案 1 :(得分:0)
直接通过Nginx或Apache提供静态资产 - 这种方式要快得多。
请参阅: http://blog.joeygeiger.com/2011/06/07/serving-assets-in-rails-3-1-with-nginx/
答案 2 :(得分:0)
好的,所以你知道两个主要答案(第一个有一些变化)。哪一个使用是选择你。如果您只需要一些小红宝石,请使用静态控制器(它可以根据您的需要命名)。如果您不打算使用任何rails / ruby好东西,那么请远离rails并使用apache / nginx为这些页面提供服务。
更新:阅读Dave Newton的第二段,有时使用rails stack只是为了保持你的布局一致很有意义。确保使用页面缓存。