我知道有人问过这个问题,但格式不同。我关心的是
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
当我点击 http://localhost:3000/admin/something.csv
时,它会抛出ActionController::UnknownFormat
编辑
我正在关注RailsCast,但找不到任何建议来改变路线,例如:-
defaults: { format: :csv }
(如Kajal Ojha's答案中所建议)
我今天遇到了同样的错误,通过在路由中提供默认格式解决了这个问题。
就你而言是
match '/something.csv' => 'admin#something', via: :get, defaults: { format: :csv }
尝试在
request.format = :csv
之前添加此
respond_to
request.format = :csv
respond_to do |format|
format.csv { render text: ["a", "b"].to_csv }
end