我正在生成一个csv文件作为报告。如果传递模型验证,它可以正常工作。如果验证失败,我想在“新”操作视图上显示错误,并将用户保留在那里,直到他们纠正错误,就像任何HTML表单一样。但是,因为我在我的表单中使用format =>'csv',所以当用户输入模型验证失败时,我会收到模板缺失错误。
Missing template /new.html with {:formats=>[:csv],
我在我的控制器中尝试了以下渲染,但它不起作用:
format.csv { render :template=>"new.html.erb"}
我甚至尝试在初始化程序中添加处理程序但不起作用:
ActionController::Renderers.add :csv do |csv, options|
self.content_type ||= Mime::CSV
self.response_body = csv.respond_to?(:to_csv) ? csv.to_csv : csv
end
答案 0 :(得分:0)
你可以重定向到控制器中的新路径吗?
redirect_to :action => 'new', :format => 'html'