Вопрос по render, plaintext, ruby-on-rails, file – Ruby on Rails: как отобразить файл как обычный текст (без HTML)

6

Как вы визуализируете файл как обычный текст в рельсах (без рендеринга HTML)?

мы пробовали:

render file: "path/to/file", layout: false

а также

render file: "path/to/file", content_type: 'text/plain'

также оба

render file: "path/to/file", layout: false, content_type: 'text/plain'

Но в ответе есть еще кое-что.

м с использованием рельсов 3.2.14 и ruby 1.9.3

Заранее спасибо.

РЕДАКТИРОВАТЬ 1:

Глупый я, это на самом деле работает

render file: "path/to/file", layout: false, content_type: 'text/plain'

Я проверял элемент с помощью Google Chrome, так чтоs появляется HTML-тег. Но когда я вижу источник, тамНет HTML-тега.

Файл, который я пытался визуализировать, представляет собой пользовательский файл без расширения, это значение, разделенное табуляцией, которое я использую в качестве параметра в d3.tsv () (D3.js)

Спасибо всем за ваши усилия. : D

РЕДАКТИРОВАТЬ 2:

В редактировании 1 я проверил ответ иправда, что это не такс любым тегом HTML. Но использование его в качестве параметра в d3.tsv () (D3.js) не делаеточевидно, не работает. Рад, что попробовалответ отJetAbe и это работает! Поэтому я принял JetAbe 'ответ.

новичок, могут мой собственный ответ. wrystr
вместо того, чтобы редактировать свой вопрос, ответьте на него и отметьте как принятый, чтобы другие знали, что он решен, и нетрать время. Я Anil Maurya
Вы должны быть в состоянии сделать это сейчас. Добро пожаловать в переполнение стека! Если вам нужна дополнительная помощь в этом вопросе, напишите мне (добавив @AngeloNeuschitzer к комментарию или напишите мне по электронной почте, см. Мой профиль) Angelo Fuchs
Посмотрите здесьstackoverflow.com/questions/12591566/... Abs
что получается?layout: false не будет применять макет, означающий, что вы получите в этом файле. sevenseacat

Ваш Ответ

2   ответа
4

потому что ваш env это рельсы 3, вы можете попробовать это

send_file path_to_file
7

render метод:

render :plain will set the content type to text/plain render :html will set the content type to text/html render :body will not set the content type header.

На самом деле онибудуосуждающее использованиеrender: text в будущем выпуске.

Для будущих поисковиков: в rails 4.0.0 для рендеринга текста вам необходимо написать:render text: "some text", : plain не работает. 7stud
@ 7stud Противоположное кажется правдой. "Мы будем осуждать использование render: text в будущей версии. Поэтому, пожалуйста, начните использовать более точные параметры: plain,: html и: body. Использование render: text может представлять угрозу безопасности, так как контент отправляется как text / html. " Увидеть:guides.rubyonrails.org/... R. P. Dillon

Похожие вопросы