Rails Restful downloads - PullRequest
       6

Rails Restful downloads

3 голосов
/ 07 октября 2011

Я хочу, чтобы некоторые пользователи могли загружать данные в файл yaml.

Я вижу, что вы можете сделать это с помощью

  1. send-file (но использует многоресурсы)
  2. прямая ссылка_ на файл в общей папке (не подходит для меня, поскольку файл генерируется, поэтому запрос должен идти к контроллеру.
  3. restful url через контроллер (этот метод частичнообъяснено в http://guides.rubyonrails.org/action_controller_overview.html, но этого недостаточно, чтобы заставить его работать!)

Я последовал этому и попробовал что-то вроде def show @client = Client.find (params [: id])

    respond_to do |format|
      format.html
      format.yml { render :yml => @client.redis_to_file }
    end
end

redis_to_file возвращает строку с данными yaml

в конфигурации mime_types.rb

Mime::Type.register "x-yaml", :yml

, а затем доступ как

clients/5.yml

Все, что я получаюявляется "недопустимым шаблоном". (Это правильно, у меня нет представлений в шаблоне yml.)

Любые подсказки о том, как это сделать, чтобы он работал, очень приветствуются.

1 Ответ

1 голос
/ 07 октября 2011

Попробуйте это:

respond_to do |format|
  format.html
  format.yml { send_data @client.redis_to_file, :type => 'x-yaml' }
end

В Документах * есть дополнительные параметры

.
...