【问题标题】:Rails create static page from dynamic pageRails 从动态页面创建静态页面
【发布时间】:2014-01-13 23:47:08
【问题描述】:

这似乎不应该那么难,但我正试图弄清楚如何从我的视图中创建一个“快照”或“锁定”视图。这个视图目前是动态的,但我想锁定它,这样我所做的任何更改都不会传播,直到我也想要它们。

这将是一个正面页面,在我选择更新它之前不应该更新它,例如通过为诸如 updated_lock 之类的字段加时间戳或类似的东西来更新它。

有什么想法吗?

谢谢, BR

【问题讨论】:

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


    【解决方案1】:

    您可以在控制器中尝试caches_action。它将创建静态版本并保存。您可以在 dev 和 checkin 中创建它,也可以在生产中生成它。如果没有签入,您需要找到一种方法在生产中删除它。需要打开缓存。

    如果您可以签入 - 您可以随时从浏览器中保存。

    基本上 - 如果在与视图相同的位置有一个公共文件,它将被提供而不是动态文件。

    【讨论】:

    • 是的,我正在考虑缓存。如果我将其设置为永不过期,如果我有新数据或更改视图,它不会更新吗?
    • 你有几个缓存选项。对不起,我在上面打错了,你真正想要的是页面缓存,而不是这里的动作缓存。在这种情况下,您将使用caches_page。在 Rails 4 中,如果您想这样做,这将是一个宝石。
    • 谢谢,我会看看它的作用。
    • 好的,我发现 caches_page 几乎完全符合我的要求。这是一个范围,但是有没有办法在不访问它的情况下缓存页面?换句话说,设置一个视图以使用 caches_page 并在任何人访问该页面之前设置缓存?
    • 可能 - 我还没有这样做,但您想渲染一个页面并将其保存为文件。您可能会通过 rake 任务/cron 作业来做到这一点。一个快速的谷歌显示其他人这样做,例如:stackoverflow.com/questions/4262044/…
    猜你喜欢
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多