Rails как просмотреть текстовый файл?

#ruby-on-rails #ruby #ruby-on-rails-3

#ruby-on-rails #ruby #ruby-on-rails-3

Вопрос:

Как можно открыть и просмотреть текстовый файл с помощью rails?

Пример, который у меня есть test.txt:

 Test test test test
  

Тогда у меня есть мой test.html.erb:

 Here I want to view test.txt
  

Ответ №1:

Вы можете либо отобразить произвольный файл, либо использовать send_file : 3.1 или < 3.1

Ответ №2:

Другая возможность:

 Here is the test.txt file: <%= File.read("test.txt") %>
  

Ответ №3:

Вот это самое test.txt файл:

 <%= File.read(File.join(Rails.root, 'your_folder','your_folder','test.txt'))%>
  

Комментарии:

1. Rails.root является a Pathname , так что вы можете Rails.root.join(...)

Ответ №4:

В некоторых случаях (когда файл не маленький и его загрузка связана с задержкой) я предпочитаю загружать содержимое страницы, а затем использовать 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 для получения дополнительных опций. Например, вы можете отобразить pre тег loading следующим образом:

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

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