【问题标题】:Rails 3: how to render text file in-line?Rails 3:如何在线渲染文本文件?
【发布时间】:2011-09-09 14:56:38
【问题描述】:

全部。

这里是 Rails n00b...

我正在编写一个报告交易状态的应用程序。 呈现的 HTML 中的一些内容来自实例变量 在控制器中初始化,而其他内容来自文本文件 (例如,日志文件)我想使用 <pre> 标签在 HTML 中呈现。

执行此操作的“Rails 方式”是什么?

感谢您的宝贵时间...

【问题讨论】:

    标签: ruby-on-rails-3 text rendering inline


    【解决方案1】:
    <pre>
        <%= render :file => '/tmp/test.log' %>
    </pre>
    

    【讨论】:

    • 您可以使用 @file %> 进行 html 格式设置,例如 \n =>
    【解决方案2】:

    【讨论】:

    • 感谢您的回复...非常感谢。
    【解决方案3】:

    在某些情况下(当文件不小并且加载时连接延迟),我更喜欢加载页面内容,然后使用jQuery ajax 请求来加载文件内容。

    例如,假设我有一个带有文件路径属性的模型。在view 布局中,我正在做这样的事情:

    <pre data-source=" <%= (@file.path) %>"></pre>
    

    然后在相应的js 文件中,我正在加载这样的上下文:

    $(document).ready ->
      $.ajax(
        url: $("pre").data("source")
        context: document.body
      ).done (response) ->
        $("pre").html response
        return
      return
    

    当然,您可以查看jQuery ajax 文档以获取更多选项。例如,您可以像这样使用loading 渲染pre 标签:

    <pre data-source=" <%= (@file.path) %>"><div class="loading"></pre>
    

    或者也可以使用其他 jQuery 动画。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多