【问题标题】:Render public html for dynamic banners in Rails?在 Rails 中为动态横幅呈现公共 html?
【发布时间】:2011-02-10 10:24:39
【问题描述】:

我想渲染特定的 HTML sn-ps 来显示横幅,因为每个横幅都有不同的性质(一些图像、一些 Flash 等)。每个横幅文件都在 app/public/banners/ 下。我尝试了很多方法,例如:

render :file => "/banners/somebanner.html"

但它无法找到该文件,因为 Rails 在 app/views 下查找。有任何想法吗 ?谢谢!

视图路径 app/views 中缺少模板横幅/somebanner.html

【问题讨论】:

    标签: ruby-on-rails ruby actionview banner


    【解决方案1】:

    我从不厌倦,只是在 Google 上找到了这篇文章

    render :file => "#{RAILS_ROOT}/public/banners/somebanner.html"
    

    看起来可能会有一些缓存副作用,即使在开发模式下也是如此

    http://workingwithrails.com/forums/4-ask-a-rails-expert/topics/1178-render-file-rails-root-public-layouts-mylayout-cached

    你也可能想要 :layout => false

    【讨论】:

    • 如您所料,它无法缓存内容:(
    • 在暂存或生产模式下呢?理想情况下,它不会在开发模式下缓存,因此无需重新启动服务器即可显示更改 - 该链接的问题是它在开发模式下缓存?
    • RAILS_ROOT 已弃用,现在使用 Rails.root
    【解决方案2】:

    临时修复:

    将“public/banners”移动到“app/views/banners”,然后在“/public”中创建一个同步链接,以便我的团队可以添加新的横幅

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多