Вот очень простой пример создания формы с добавлением двух чисел:
rails new math_app -O
cd math_app
rails generate controller Add form result
В последней строке создается контроллер с двумя действиями -
- «форма» - для отображенияформа
- «результат» - для отображения результатов
В другом окне командной строки откройте каталог 'math_app' и запустите сервер:
rails server
Вы можете открыть браузер для «localhost: 3000 / add / form» и «localhost: 3000 / add / result», чтобы увидеть страницы по умолчанию, созданные Rails для вас.Когда вы редактируете вещи ниже, вы можете вернуться на эти страницы (и даже не перезагружать сервер), чтобы посмотреть, что они производят.
Отредактируйте 'app \ views \ add \ form.html.erb', чтобы создатьформу, которую мы хотим показать.
<%= form_tag add_result_path do %>
<%= number_field_tag :first %>
+
<%= number_field_tag :second %>
<%= submit_tag "add" %>
<% end %>
Отредактируйте 'config / rout.rb', чтобы заставить действие 'result' принимать запросы POST из формы выше.
Change -
get "add/result"
to-
post "add/result"
Редактировать метод результата 'app \ controllers \ add_controller.rb', чтобы получить два числа из данных формы и сложить их вместе.
def result
@first = params[:first].to_i
@second = params[:second].to_i
@result = @first + @second
end
Отредактируйте 'app \ views \ add \ result.html.erb', чтобы показать результат.
<%= @first %> + <%= @second %> = <%= @result %>
<br/>
<%= link_to 'back', add_form_path %>
Готово!