Я новичок в рельсах, и вопрос о маршрутах сбивает меня с толку.
На одной из моих страниц у меня есть форма. В этой форме я разрешаю пользователю заполнить некоторую необходимую информацию и нажать кнопку «отправить».
Я получаю:
No route matches {:action=>"inventory_test", :controller=>"test_types"}
У меня есть действие в контроллере test_type для «инвентаризации».
Моя путаница заключается в том, что маршруты, кажется, определяются в соответствии с моделью REST, такой как / Users / edit / 1. Это нормально, но как создать маршруты для таких вещей, как кнопки?
Я могу быть наивным, но, похоже, я попытался настроить маршрут в виде:
match 'some/url' => 'controller#action'
тогда я по сути определяю действие для всей страницы. Как определить действия для элементов на странице?
Когда эта кнопка нажата, я хочу вызвать действие в контроллере. Я ищу:
match "submit_button" => 'test_types#inventory_test'
Я понимаю, что, вероятно, неправильно понимаю парадигму, поэтому любое образование очень ценится.
Код:
(Обратите внимание, что я еще не тестировал код формы, но, надеюсь, вы поняли идею)
index.html.haml
%div
%table
%caption
Inventory Tests
%form
Inventory Run: %input {:type => 'text', :name=>'inventory_run'}
Inventory Class: %input {:type => 'text', :name=>'inventory_class'}
=button_to "Run Inventory Test", :action => 'inventory_test';