Ruby on Rails / Javascript - Form_for не оценивается как true, по умолчанию false - PullRequest
0 голосов
/ 20 ноября 2018

Итак, у меня есть простая форма, которую люди могут заполнить, если они хотят запрашивать товары, доставленные или отправленные за границу.Они отвечают на простое Да или Нет.

Вопрос: Что я должен добавить к этому коду, чтобы опция Да действительно оценивалась как Истина, а опция Нет оценивалась как ложь, ине по умолчанию False для вопроса «Товар доставлен».

ПРИМЕЧАНИЕ. Я умышленно не указал код, предположим, что Ruby on Rails работает правильно, так как я мог пропустить <% end%> или другойбиты кода.

Это код с пропущенным содержимым:

new.html.erb

<%= form_for @items do |f| %>
          <div class="form-group">
             <%= f.label :"Pick up item?" %><br />
              <div class="form-inline">
               <div class="radio inline ">
                 <%= f.label :pickup, "Yes", :value => "Yes"  %>
                 <%= f.radio_button :pickup, true%>
               </div>
               <div class="radio inline ">
                 <%= f.label :pickup, "No", :value => "No" %>
                 <%= f.radio_button :pickup, false, :checked => true %>
               </div>
             </div>
          </div>

        <div class="form-group">
           <%= f.label :"Item delivered?" %><br />
            <div class="form-inline">
             <div class="radio inline requestOption optionDropoff">
               <%= f.label :delivered, "Yes", :value => "Yes"  %>
               <%= f.radio_button :delivered, true%>
             </div>
             <div class="radio inline requestOption">
               <%= f.label :delivered, "No", :value => "No" %>
               <%= f.radio_button :delivered, false, :checked => true %>
             </div>
           </div>
        </div>

        <div id="itemRequestAddress" style="display: none">
          <%= f.label :"Delivery address" %>
        <div class="form-group form-inline" id="itemAddress">
            <%= text_field(:item, :address, :class => "form-control", :placeholder => "Delivery Address", :style => "width: 100%") %>
          </div>
        </div>

<script type="text/javascript">
    $(".requestOption").on("change", function(){
        $("#itemRequestAddress").toggle($(this).hasClass("optionDropoff"));
    });
</script>

show.html.erb

    <tr>
        <td> Pick up. </td>
        <td> <% if @item.pickup %>
            <%= 'Yes' %>
          <% else %>
            <%= 'No' %>
          <% end %>
        </td>
    </tr>

    <tr>
        <td> Item delivered. </td>
        <td> <% if @item.delivered %>
            <%= 'Yes' %>
          <% else %>
            <%= 'No' %>
          <% end %>
        </td>
    </tr>

    <tr>
        <td> Delivery Address </td>
        <td>
                <%= @request_item.address %>
        </td>
    </tr>

Таким образом, опция «Подбирать» имеет значение «Истина» или «Ложь», если выбрана опция «Да» или «Нет».Когда я делаю Доставку, она всегда оценивается как Нет, независимо от того, выберу я Да или Нет. Что я здесь не так сделал?

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