Use form_tag instead of building forms by hand
authorTom Hughes <tom@compton.nu>
Fri, 3 Sep 2010 15:53:01 +0000 (16:53 +0100)
committerTom Hughes <tom@compton.nu>
Mon, 14 Nov 2011 09:42:42 +0000 (09:42 +0000)
In order for CSRF protection to work we need to use form_for or form_tag
to build all forms so that the authenticity token is added.

app/views/user/confirm.html.erb
app/views/user/confirm_email.html.erb

index 408ba77..551719f 100644 (file)
@@ -6,11 +6,11 @@ $("content").style.display = "none";
 
 <p><%= t 'user.confirm.press confirm button' %></p>
 
-<form id="confirm" method="post">
+<%= form_tag({}, { :id => "confirm" }) do %>
   <input type="display_name" name="confirm_string" value="<%= params[:display_name] %>">
   <input type="hidden" name="confirm_string" value="<%= params[:confirm_string] %>">
   <input type="submit" name="confirm_action" value="<%= t 'user.confirm.button' %>">
-</form>
+<% end %>
 
 <script>
 $("confirm").submit();
index fd17ef0..7acb85a 100644 (file)
@@ -6,10 +6,10 @@ $("content").style.display = "none";
 
 <p><%= t 'user.confirm_email.press confirm button' %></p>
 
-<form id="confirm" method="post">
+<%= form_tag({}, { :id => "confirm" }) do %>
   <input type="hidden" name="confirm_string" value="<%= params[:confirm_string] %>">
   <input type="submit" name="confirm_action" value="<%= t 'user.confirm_email.button' %>">
-</form>
+<% end %>
 
 <script>
 $("confirm").submit();