Rails 3: как визуализировать текстовый файл in-line? - PullRequest
8 голосов
/ 07 июня 2011

Все.

A Rails здесь ...

Я пишу приложение, которое сообщает о состоянии транзакции. Некоторая часть содержимого в отображаемом HTML-файле поступает из переменных экземпляра инициализируется в контроллере, а другой контент поступает из текстовых файлов (например, файлы журналов), которые я хочу отображать в HTML с использованием тегов <pre>.

Что такое "Rails Way" для этого?

Спасибо за ваше время ...

Ответы [ 3 ]

14 голосов
/ 07 июня 2011
<code><pre>
    <%= render :file => '/tmp/test.log' %>
3 голосов
/ 07 июня 2011
0 голосов
/ 04 сентября 2014

В некоторых случаях (когда файл не маленький и загрузка связана с задержкой), я предпочитаю загружать содержимое страницы и затем использовать jQuery ajax-запрос для загрузки содержимого файла.

Например, допустим, у меня есть модель с атрибутом пути к файлу.В макете view я делаю что-то вроде этого:

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

Затем в соответствующем файле js я загружаю контекст следующим образом:

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

Конечно, вы можете проверить документацию jQuery ajax для получения дополнительных опций.Например, вы можете визуализировать тег pre с помощью loading следующим образом:

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

или использовать другие jQuery анимации.

...