2011-10-07 2 views
3

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

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

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

Я последовал за это й пытался что-то вроде Защиту показать @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

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

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

Есть несколько вариантов в Docs

+0

У меня есть подобный вопрос. Я получил ответ. Я могу подтвердить это с помощью инструмента веб-разработчика. Но это все. Доза браузера не отображает окно загрузки файла. – Penguin