Вложенные URL-запросы в ruby ​​на рельсах - PullRequest
0 голосов
/ 26 января 2019

Я делаю это, выбираю вашу собственную страницу приключений и использую 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...