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 に答える