2011-08-04 5 views
8

私はここで簡単なものを見逃しているように感じます。私は、オブジェクトと共にform_forヘルパーを使用しています。 url、format、およびhtmlメソッドを指定します。ただし、レンダリング時にaction属性のurlでフォーマットが取得されません。私のコードは次のとおりです:URL、書式、およびHTMLオプション付きForm_for

=form_for(@site, url: compile_documents_path(@site), format: :csv, html: { method: :post}) do |f| 

私のコントローラは、csvフォーマットに応答するように設定されています。サイトオブジェクトに対してto_csvメソッドを呼び出すだけです。

期待どおりに機能しない理由はありますか。

答えて

22

テストされていないが、私はフォーマットの一部は、URLヘルパーに行くべきだと思う:

=form_for(@site, url: compile_documents_path(@site, format: :csv)) do |f| 

プラス:私はあなたがそれがPUTを使用するかどうかform_forが決定すると、method: :post部分を指定する必要はないと思います@siteが新しいレコードであるか既存レコードであるかに基づいて、POSTになります。

+0

こっちはやったよ。それは気になりましたが、ルートファイルによって作成された動的メソッドのオプションに関するドキュメントがあるかどうかを確認しようとしていました。私はちょうど試みるのに十分な勇敢ではなかったと思う。 – agmcleod

関連する問題