Я делаю это, выбираю вашу собственную страницу приключений и использую form_tag, чтобы принять ввод пользователя.В начале этой страницы пользователь вводит число через это текстовое поле
<% choice_1a = "1" %>
<% choice_1b = "2" %>
<%= form_tag("/pathfinder/quest1", method: "get") do %>
<center><%= text_field_tag(:a, @input_1, maxlength: 1) %>
<%= submit_tag("Submit") %></center>
<% end %>
<% input_1 = @input_1 %>
<% if input_1 == choice_1a %>
**Run code if user entered 1 **
<%= form_tag("/pathfinder/quest1", method: "get") do %>
<center><%= text_field_tag(:b, @input_2, maxlength: 1) %>
<%= submit_tag("Submit") %></center>
<% end %>
<% elsif input_1 == choice_1b %>
**Run code if user entered 2 **
<% else %>
** Prompt user to enter a 1 or 2**
<% end %>
, что приводит к таким выводам в URL-адресе запроса "a", равному любому введенному вводу.В этом случае я ввел один ("& a = 1")
https://192.168.0.200:3000/pathfinder/quest1?utf8=checkmark символ & a = 1 & commit = Submit
После того, как этот путь выбран, им дают другой form_tagкак показано ниже
Путь, если 1 был выбран в form_tag "a"
<%= form_tag("/pathfinder/quest1", method: "get") do %>
<center><%= text_field_tag(:b, @input_2, maxlength: 1) %>
<%= submit_tag("Submit") %></center>
<% end %>
Когда они введут здесь число, URL изменится на этот.Обратите внимание, как «а» был заменен на «б».
https://192.168.0.200:3000/pathfinder/quest1?utf8=checkmark символ & b = 1 & commit = Submit
Я надеялся как-то вложить эти запросы так, чтобы, если a = 1, я мог дать пользователю установить ввод в«b» будет по-прежнему отражать их предыдущий ввод в «a»
Вот часть раздела show контроллера маршрута, на котором этот код выполняется
Код контроллера
if url == ('/pathfinder/quest1')
if params[:a].present?
@input_1 = "#{params[:a]}"
elsif params[:b].present?
@input_2 = "#{params[:b]}"
end
render 'quest1/index'
То, что я пытаюсь сделать, это дать пользователю возможность установить a = 1, а затем под этой веткой разрешить b установить 1 или 2. Пример того, что я пытаюсьвыполнить
a=1 (being one path) or a=2(being the other path)
| |
V V
b=1 <---> b=2 c=1 <-----> c=2
**Different paths if the user were to set "a" to one or two**
Если пользователь установит «a» равным единице, он будет иметь возможность установить «b» на одну или две.То же самое можно сказать о «а», равном двум, когда у пользователя будет возможность установить «с» только один или два.
Я открыт для любых других идей, которые не требуют измененияURL, если его через HTML, CSS или Javascript