2011-04-18 89 views
2

我想制作一个CMS,我可以在浏览器中在线编辑视图和css文件。 怎么办?一切都必须在数据库中吗?Rails如何在浏览器中编辑和保存文件?

+1

你可以用ruby编写文件,所以在技术上你可以在脚本中打开css文件并做一些编辑。你正在寻找在轨道模板引擎? – edthix 2011-04-18 00:57:56

回答

3

通常堆栈溢出不适用于研究,它是为了解决问题。这就是说......

  1. 没有,您可编辑的资产不必须是在数据库中这个工作。
  2. 但是你希望他们是反正;允许对应用程序中的文件进行写入访问并不是最好的方法。
  3. Rails 3的渲染链允许您在自己的视图解析器中进行分析,并为内置的视图添加一个路径 - 发现您可以相对容易地从数据库中加载。
  4. 让您的最终用户使用类似Liquid模板的方式进行书写,将为您节省大量工作,并让这种情况相对容易。他们将无法访问不安全的Ruby方法,并且不需要经历在Ruby中对其进行沙盒处理的所有工作。
  5. CSS的安全隐患较少,因此您可以很容易地将原始CSS存储在数据库中,并允许用户根据自己的喜好对其进行编辑,然后通过请求stylesheets /:user_id/style.css请求(与一些沉重的缓存,像Varnish一样,以免你的应用程序被谋杀)。

希望你能从正确的方向开始。如果您决定在Rails中使用渲染堆栈,我强烈建议您提取一份Crafting Rails Applications副本 - 它引导您通过的一些示例应用程序中的一个在相当细化的层面上做到了这一点。

相关问题