Rails如何在浏览器中编辑和保存文件?

时间:2011-04-18 00:54:32

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

我想创建一个CMS,我可以在浏览器中在线编辑视图和css文件。 怎么做到呢?一切都必须在数据库中吗?

1 个答案:

答案 0 :(得分:3)

通常Stack Overflow不用于研究,而是用于解决问题。那说......

  1. 不,您的可编辑资源不必存在于数据库中,以便它可以正常工作。
  2. 但你希望他们无论如何;允许对应用程序中的文件进行写访问不是最佳方法。
  3. Rails 3的渲染链允许您在自己的视图解析器中进行子操作,并添加一个内置视图查找的路径,您可以相对轻松地从数据库中进行加载。
  4. 让最终用户写一些类似Liquid模板的内容可以为您节省大量工作,并且相对容易实现。他们无法访问不安全的Ruby方法,也不必完成在Ruby中沙箱化的所有工作。
  5. CSS具有较少的安全隐患,因此您可以非常轻松地将原始CSS存储在数据库中,并允许用户根据自己的喜好对其进行编辑,然后通过对stylesheets /:user_id / style.css请求的请求来提供它(有一些沉重的缓存,比如Varnish,可以防止你的申请被谋杀)。
  6. 希望这会让你开始朝着正确的方向前进。如果您决定在Rails中挂钩渲染堆栈,我强烈建议您获取Crafting Rails Applications的副本 - 它引导您完成的少数几个示例应用程序中的一个,只是在相当精细的层次上。