【问题标题】:ActionController::UnknownFormat (format.csv)ActionController::UnknownFormat (format.csv)
【发布时间】:2016-12-13 10:47:01
【问题描述】:

我知道有人问过这个问题,但格式不同。我关心的是format.csv。

我的尝试

路线

match '/something.csv' => 'admin#something', via: :get

控制器

def something
   respond_to do |format|
     format.csv { render text: ["a", "b"].to_csv } #Just a try

     #format.csv { render csv: ["a", "b"].to_csv }
   end
end

它抛出 ActionController::UnknownFormat,当我点击 http://localhost:3000/admin/something.csv

编辑

我在关注RailsCast,但找不到更改路线的建议,例如:-defaults: { format: :csv }(如 Kajal Ojha 的回答中所建议)

【问题讨论】:

    标签: ruby-on-rails csv


    【解决方案1】:

    我今天遇到了同样的错误,通过在路由中提供默认格式解决了这个问题。

    在你的情况下是

    match '/something.csv' => 'admin#something', via: :get, defaults: { format: :csv }
    

    【讨论】:

    • 很可能,您使用的链接末尾的括号中没有以下内容... admin_something_path(:format => "csv") ... 所以路由器可能会猜测 html(您的控制器只有 csv,没有 html 选项)。路由修复中的默认 csv 格式有效,因为它在没有在指向该路由的链接中明确声明的情况下设置它。
    猜你喜欢
    • 1970-01-01
    • 2022-01-14
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多