Witam! Mam problem dotyczący formularzy, kod źródłowy owego formularza zaczerpnąłem z dokumentacji
<%= form_tag do %>
<%= label_tag(:q, "Search for:") %>
<%= text_field_tag(:q) %>
<%= submit_tag("Search") %>
<% end %>
<%= params.inspect %>
W dokumentacji pisze coś takiego
Wywołany bez argumentów tworzy element formularza, którego pole “action” odwołuje się do bieżącej strony…
Po kliknięciu przekierowuje mnie do akcji create, a powinno odwoływć się do bieżącej strony.
Bardzo proszę o szybką i skuteczną pomoc
bieżąca strona metodą GET
!= bieżąca strona metodą POST
Czyli w jaki sposób powinienem odwołać się do bieżącej strony metody post?
qrooel
December 10, 2014, 12:58am
4
Ale problem jest nieco inny, ponieważ nie chcę danych z formularzy używać do bazy, lecz chce zapisać je do zmiennej. W większości poradnikach formularze odwołują się do bazy, a ja chce wyniki z formularza zapisać do zmiennej. W moim kontrolerze zrobiłem coś takiego:
@password = params[:Password]
A kod formularza wygląda tak:
<%= form_for @password, method: "post" do |f| %>
<%= f.label 'Password' %>
<%= f.text_field 'Password' %>
<%= f.submit 'OK' %>
<% end %>
Ale rails sypie błędami.
qrooel
December 10, 2014, 4:09pm
6
To co robisz poźniej z danymi z formularza to już całkiem zależy od ciebie, nikt ci nie każe ich zapisywać do bazy.
W drugim linku masz przykłady, które rozwiązują Twój problem.
Cholera coś nie wychodzi.
<%= form_tag method: 'post' do %>
<%= label_tag 'password' %>
<%= password_field_tag 'password' %>
<%= button_tag "OK" %>
<% end %>
Znowu odwołuje się akcji create.
PS Przesiadka z php na rails, wcale nie jest taka łatwa ;(
qrooel
December 10, 2014, 6:04pm
8
W pierwszym poście pod twoim pytaniem masz odpowiedź: “bieżąca strona metodą GET != bieżąca strona metodą POST”.
Potrzebujesz metody GET (wtedy zawołana zostanie akcja index).
1 Like
Wielkie dzięki wszystko chodzi