Czytam książkę Rails i do tej pory używałem form_for
do tworzenia formularzy. W nowym rozdziale, w którym tworzy się strona logowania dla użytkowników, zamiast tego używa się form_tag
. Więc chciałem wiedzieć, kiedy i jak powinniśmy wiedzieć, którego użyć? Czy to jest tylko edukacyjna rzecz, którą zrobił, aby pokazać to również form_tag
? lub są inne powody techniczne, które należy wziąć pod uwagę?form_for i form_tag, kiedy użyć?
10
A
Odpowiedz
18
form_tag
po prostu tworzy formularz. form_for
tworzy formularz dla obiektu modelu. Nie można ich stosować zamiennie i powinieneś używać tego, który jest odpowiedni dla danego przypadku.
jest nieco łatwiejszy w użyciu do tworzenia formularzy dla obiektu modelu, ponieważ określa, jakiego adresu URL używać i jakiej metody http użyć w zależności od tego, czy obiekt jest nowym rekordem, czy zapisanym rekordem.
14
W większości przypadków podczas wysyłania danych do bazy danych za pomocą modelu, w metodach takich jak create
, update
, destroy
. Do tego typu akcji można użyć form_for
.
Zamiast form_tag
tworzyć tylko po prostu form
html, na przykład wyszukiwanie:
<%= form_tag("/search", :method => "get") do %>
<%= label_tag(:q, "Search for:") %>
<%= text_field_tag(:q) %>
<%= submit_tag("Search") %>
<% end %>
Powiązane problemy
- 1. Różnica między form_for, form_tag?
- 2. Kiedy używać @ w widoku szyn i kiedy użyć symbolu?
- 3. Jquery - Kiedy użyć "this" i kiedy użyć "$ (this)"?
- 4. Parametry form_tag w zagnieżdżonej mieszance
- 5. OnMapLoadedCallback i OnMapReadyCallback, kiedy użyć?
- 6. STI i form_for problem
- 7. Ruby on Rails: Czy odpowiednik "form_for (: product, ...)" i "form_for (@product, ...)"?
- 8. readValue i readTree w Jackson: kiedy użyć?
- 9. Kiedy należy użyć const i do tego?
- 10. Kiedy i gdzie należy użyć WCF
- 11. Kiedy należy użyć mmap
- 12. szyny form_tag ścieżka URL
- 13. Kiedy wiesz, kiedy użyć TreeSet lub LinkedList?
- 14. Jak dodać identyfikator html do tagu form_for w szynach?
- 15. W Jira Agile, kiedy powinienem użyć "Historii" i kiedy powinienem użyć "Ulepszenia"
- 16. Jak używać form_tag z poziomu pomocnika?
- 17. Szyny przechodzące form_for obiektu częściowy
- 18. kiedy użyć alternatywnej dystrybucji Pythona?
- 19. Kiedy użyć narzędzia do budowania?
- 20. kiedy użyć tkaniny lub ansibla?
- 21. Kiedy użyć sprężyny: tag URL?
- 22. Django kiedy użyć metody przerywaniem
- 23. Czy form_tag działa z Simple_form?
- 24. Szyny form_tag nie są wyświetlane
- 25. Szyny: form_for namespaced resource
- 26. Kiedy należy użyć sqlalchemy back_populates?
- 27. Kiedy użyć requestScope w jstl?
- 28. Kiedy mogę użyć gwiazdki Any?
- 29. Form_for z url, formatem i opcjami html
- 30. form_for nie pokazuje się
mi się podoba, ponieważ przykład wskazuje na fakt, że 'form_tag' jest często używany przez„szukaj”funkcjonalności, jak zazwyczaj nie jest to idealnie odwzorowane na działanie kontrolera # – mmcrae
Dodam, że form_tag jest dobry do tworzenia formularzy opartych na sesjach. i jak mówisz, podczas interakcji z bazą danych - form_for jest drogą do zrobienia. – BKSpurgeon