Моя проблема похожа на проблему в этом вопросе, но противоположна. Как мне указать ": layout => false" в response_with Rails?
Контроллер является своего рода конвертером файлов.Он отвечает на многие форматы.Один формат должен отображать HTML-макет с метаданными.Этот формат требует визуализации макета, в отличие от большинства других форматов.Проблема в том, что я не могу убедить Rails отрендерить его.
class CustomFilesController < ApplicationController
respond_to :all, :only => :show
def show
@custom_file = CustomFile.find(params[:id])
respond_with(@custom_file) do |format|
format.html {}
format.xml {}
format.json {}
format.fil {
puts '>>>>> IN FIL <<<<<'
render :layout => true
}
format.any {
file = @custom_file.as(:type => params[:format], :size => params[:size]) ## the REAL path to the file
(file.nil? || @custom_file.nil?) ? head(:not_found) : send_file(file, :disposition => 'inline', :url_based_filename => true)
}
end
end
end
Я думал, что ": layout => true" будет работать, но, очевидно, нет.
Как видите, я убралвсе остальное в контроллере, прежде чем вставлять его сюда.Формат "fil" добавляется к типам mime в формате text / html в config / initializer / mime_types.rb.У меня есть файл представления, и он рендерится, но без разметки вокруг него.
Буду признателен за любой совет.Некоторое время я ни к чему не привел, и все, что я нахожу в Интернете, говорит о том, что мой код должен работать.
Заранее спасибо.