ruby-on-rails - Rails Restful 下载

标签 ruby-on-rails rails-routing

我希望一些用户能够下载 yaml 文件中的数据。

我看到你可以做到这一点

  • 发送文件(但使用大量资源)
  • 直接链接到公用文件夹中的文件(对我不利,因为文件已生成,因此请求需要转到 Controller 。
  • 通过 Controller 的 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
    

    我得到的只是“无效的模板”。 (没错,我的 View 中没有 yml 模板。)

    非常感谢有关如何执行此操作以使其正常工作的任何线索。

    最佳答案

    试试这个:

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

    Docs 中有更多选项

    关于ruby-on-rails - Rails Restful 下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7682096/

    相关文章:

    ruby-on-rails - 在 rails 中更改当前页面导航链接的类

    ruby-on-rails - 如何重定向 Rails 中的所有路由

    ruby-on-rails - 安装 ffmpeg

    ruby-on-rails - rails : How to change Bundler default version

    ruby-on-rails - 如何将参数添加到 Rails 索引操作/方法?

    ruby-on-rails - Capybara Selenium Chrome 打开 关于 Google Chrome

    ruby-on-rails - 从 Rails 的子域中排除所有其他资源

    ruby-on-rails-4 - Ruby on Rails 选择错误的 Controller 操作

    ruby-on-rails - rails 什么时候在 Controller 中查找 Index 方法,什么时候查找 show 方法

    ruby-on-rails - Twitter如何根据登录与否获得两个不同的主页? - rails 3.1