我正在处理的网站的所有者要求我将“关于我们”页面设为可编辑(由她通过网络界面)。事实上,她总共有5页要编辑 - 关于我们,服务条款等等。
在旧的实现中,当这些页面是静态视图文件时,我将所有URL编码为routes.rb
scope :controller => :home do
get :about
get :terms
# etc ...
end
现在这些不同的操作从数据库(或任何地方)获取数据,似乎标准的RESTful方法可能是创建Pages
资源并将所有视图合并到show
操作中。
这感觉不太对劲。个人资源通常不像“关于我们”页面那样硬连线到网站 - 页面内容可能会改变,但页面本身不会去任何地方,并且页脚中有链接,在我们的一些页面中电子邮件等
具体来说,从PagesController中分解出各个路由会引发以下问题:
about_path
因此,目前我认为最好的方法是将这些URL编码为routes.rb
,并具有单独的控制器操作,每个操作都会从数据库中获取自己的页面。
任何人都可以分享一些见解吗?您如何处理不完全静态但仍需要硬连接到站点的数据?
答案 0 :(得分:1)
如果您要允许降价,我喜欢Pages控制器和模型的想法。如果您的布局感觉所有5个页面都应该有类似的感觉,那么我将使用一个模板填充用户生成的内容和适当的导航。
我的选择是设置路由,制作视图(包括路由),并使用用户生成的markdown填充视图。
在不了解您的网站的情况下,很难说,但我的偏好是不允许用户生成反映网站标识的页面(关于,条款等),除非这是他们付出的代价。