Рендеринг файла с Типом MIME в направляющих

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

17
задан Bill the Lizard 22 July 2010 в 22:02
поделиться

4 ответа

Что относительно

headers["Content-Type"] = "text/xml"

? Надежда, которая помогает.

3
ответ дан 30 November 2019 в 10:27
поделиться

На самом деле существует два способа установить тип контента (я думаю, что это - то, что Вы подразумеваете под типом пантомимы). Необходимо использовать вторую опцию, если она работает на версию направляющих.

class FileController < ApplicationController

  def index
    filename = 'some.xml'

    extname = File.extname(filename)[1..-1]
    mime_type = Mime::Type.lookup_by_extension(extname)
    content_type = mime_type.to_s unless mime_type.nil?

    # 1
    #headers['Content-Type'] = content_type
    #render :file => filename

    # 2
    render :file => filename, :content_type => content_type
  end

end

Hope это помогает!

34
ответ дан 30 November 2019 в 10:27
поделиться

Смотрите здесь . В основном необходимо использовать рендеринг: xml => вздор to_xml

2
ответ дан 30 November 2019 в 10:27
поделиться
render :file => @somedir + "/blah.xml", :content_type => Mime::XML
16
ответ дан 30 November 2019 в 10:27
поделиться
Другие вопросы по тегам:

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