2011-08-04 16 views
8

Czuję, że brakuje mi czegoś prostego tutaj. Korzystam z helpera form_for z obiektem. Podaję adres URL, format i metodę html. Jednak po wyrenderowaniu adresu url w atrybucie działania nie odczyta formatu. Oto mój kod:Form_for z url, formatem i opcjami html

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

Mój kontroler jest skonfigurowany tak, aby odpowiadać na format csv, i po prostu wywołuje metodę to_csv w obiekcie witryny.

Wszelkie sugestie, dlaczego nie działa zgodnie z oczekiwaniami.

Odpowiedz

22

Nietestowane, ale myślę, że część format powinien iść do pomocnika URL:

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

Plus: Nie sądzę, że trzeba określić method: :post udział, jako form_for zadecyduje, czy należy go używać PUT lub POST, na podstawie tego, czy @site jest nowym czy istniejącym rekordem.

+0

Heh tak, to załatwiło sprawę. To przyszło mi do głowy, ale próbowałem sprawdzić, czy istnieje dokumentacja opcji dla metod dynamicznych tworzonych przez plik tras. Sądzę, że nie byłem wystarczająco odważny, by spróbować. – agmcleod

Powiązane problemy