【问题标题】:Rails setting :format in (ActionController)_path( @user, format: => "csv" )?Rails 设置:格式在(ActionController)_path(@user,格式:=>“csv”)?
【发布时间】:2013-12-19 00:57:21
【问题描述】:

我正在关注rails cast,以便在我们的管理区域中添加为不同内容下载 csv 的功能。当我转到 url 时,我下载了文件,所以我现在正在尝试为其设置链接,但在尝试设置路径请求的格式时遇到了问题。我认为我的主要问题是我正在传递具有格式的路径的任务对象。因为在rails cast中它只是作为

<%= link_to "CSV", product_path( format: "csv")%>

但是尝试像这样设置格式给了我相同的错误 url(如下所示尝试不同的设置格式方式)。我尝试了几种不同的方法,并试图找到关于 _path 可以接受的参数的文档,但是到目前为止我尝试设置格式的所有方法都没有奏效。 (我很确定这是 Rails 3.2 特有的问题)

这几乎是我的确切question,但一个答案不起作用,如下所示。答案对提出问题的人也不起作用......

<%= link_to "Users csv", admin_missions_path(@admin_mission, :format => :csv) %>

但这会将链接网址变成:

http://localhost:3000/admin/missions.52aa6bc61858f041b1000010

何时需要:

http://localhost:3000/admin/missions/52aa6bc61858f041b1000010.csv

当我转到以 .csv 结尾的正确 url 时,它会自动下载 .csv,所以我知道一切正常。我只是不知道如何使链接的格式正常工作,因此它会下载文件而不是转到第一个错误的 url...

任何见解或帮助将不胜感激。

谢谢,

艾伦

【问题讨论】:

    标签: csv ruby-on-rails-3.2 link-to


    【解决方案1】:

    好的,所以这不是一个很好的解决方案...但在我的情况下,我想要的链接只是将 .csv 添加到该页面的 url 的末尾(以处理该内容的 .csv页)

    所以我只是使用了 request_url 并添加了 .csv 后缀...对我来说看起来有点卡,但它可以工作...

    <%= link_to "Users csv", request.original_url+".csv" %>
    

    引用此question 以获取在不同版本的 Ruby 中获取当前 url 的不同方法的列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 2021-06-17
      • 2015-03-05
      • 2018-03-09
      • 1970-01-01
      相关资源
      最近更新 更多