0

我正在生成一个 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
4

1 回答 1

0

您可以重定向到控制器中的新路径吗?

redirect_to :action => 'new', :format => 'html'
于 2012-09-22T06:21:12.803 回答