Невозможно сгенерировать правильный файл CSV в Ruby - PullRequest
0 голосов
/ 16 января 2019

Я создаю трекер портфеля, и у меня есть два CSV - один, чтобы показать все мои портфели (на моей странице индекса), и один, чтобы показать конкретное портфолио (на моей странице показа). Это два метода:

def index
    @portfolios = Portfolio.all
    csv_options = {col_sep: ',', force_quotes: true, quote_char: '"' }
    filepath = "app/views/portfolios/investments.csv"

    CSV.open(filepath, "wb", csv_options) do |csv|
      headers = ...
      csv << headers
      @portfolios.each { |portfolio| csv << portfolio }
    end

    respond_to do |format|
      format.html
      format.csv { send_data @portfolios.to_csv, filename: "investments_#{Date.today}.csv"}
    end
  end
def show
    csv_options = {col_sep: ',', force_quotes: true, quote_char: '"' }
    filepath = "app/views/portfolios/portfolio_#{@portfolio.name}.csv"

    CSV.open(filepath, "wb", csv_options) do |csv|
      headers = ...
      csv << headers
      @portfolio.transactions.each { |transaction| csv << transaction }
    end

    respond_to do |format|
      format.html
      format.csv { send_data Portfolio.to_csv, filename: "#{@portfolio.name}_#{Date.today}.csv"}
    end
  end

Файлы CSV генерируются правильно, но когда я пытаюсь загрузить CSV на своей странице показа (например, portfolios/1.csv), содержимое загруженного файла принадлежит CSV для моей страницы индекса (даже если имя файла правильно).

Заранее большое спасибо!

...