How to create a simple form without a model?

Viewed 23

How would I go about creating a form that takes what user input as a value and just passes it to the controller without being connected to any model? Something simple like i.e. calculating tax based on input salary, or other calculation like that, when I show the user a form, let them fill it, and when submitting it would go to the results

<%= form_with  url: 'calculator#result' do |form| %>
  <%= form.number_field :value, in: 1000.0..20000.0, step: 0.5 %>
  <%= form.submit %>
<% end %>

i expected something like this to pass 'value' and redirect to calculator#result when submitting, but the button doesn't really do anything. whereas a form connected to a model seems pretty smart and does it

1 Answers

The form_tag Helper method is usually used for forms that are not linked to a model.

I think this should work:

<%= form_tag("/calculator/result", :method => "get") do %>
   <%= label_tag(:value, "Value:") %>
   <%= text_field_tag(:value) %>
   <%= submit_tag("Submit") %>
<% end %>
Related