Я предполагаю, что вы хотите сгенерировать отчет в браузере, поскольку вы упомянули контроллер.
Допустим, у вас есть URL, чтобы увидеть эксперимент: /experiments/32/show
Вы могли бы используйте подобное расширение /experiments/32/show.report
, чтобы увидеть сгенерированный отчет
Для этого вам понадобятся три вещи
- Смена контроллера
# app/controllers/experiments_controller.rb
class ExperimentsController < ApplicationController
def show
@experiment = Experiment.find(params[:id])
@gene = ...
@result_id = ...
respond_to do |format|
format.html
format.report
end
end
end
Зарегистрируйте тип
report
MIME
В соответствии с инструкциями в направляющих рельсов Вам необходимо добавить строку в инициализаторе mime_types.rb
(создать пустой файл, если вы не имеют)
# config/initializers/mime_types.rb
Mime::Type.register "application/rtf", :report
Создайте шаблон .report, используя ERB
# app/views/experiments/show.report.erb
---
title: "Result Report"
params:
selected_id: <%= @result_id %>
selected_gene: <%= @gene %>
selected_experiment: <%= @experiment.id %>