Rails - Невозможно сохранить значение переключателя в базе данных - PullRequest
0 голосов
/ 18 октября 2018

Я учусь создавать формы в Ruby on Rails, но не могу понять, как заставить переключатели сохранять при отправке формы.Вот моя форма:

<%= form_for :post, url: posts_path do |f| %>
    <p>
        <%= f.label :title %><br>
        <%= f.text_field :title %>
    </p>

    <p>
        <%= f.label :body %><br>
        <%= f.text_area :body %>
    </p>

    <p>
        <%= f.label :radio %><br>

        <%= f.label :radio, "Yes"%>
        <%= f.radio_button(:radio, "true")%> 

        <%= f.label :radio, "No"%>
        <%= f.radio_button(:radio, "false")%>
    </p>

     <p>
        <%= f.submit %>
    </p>

После отправки формы в качестве теста я проверяю результаты как на веб-сайте, так и в консоли с помощью SQLite.Атрибут radio моей модели сообщений пуст (значение nil), но остальные атрибуты заполнены правильно.Я уже проверил, что атрибут радио является строкой.Если есть лучший способ сохранить значения с помощью переключателей, это будет оценено.Вот код, который я использую для отображения результатов, но я не думаю, что это поможет, потому что радио пусто, когда я проверяю его с помощью SQLite.

<% if post.radio == "true"%>
    <p>
        Yes!
    </p>
    <%else%>
    <p>

        No!
    </p>
<%end%>

Я уже пробовал использовать radio_button_tag, но rails нене узнаю это.Я также попробовал это без скобок, просто true и false (не строки) и т. Д. Спасибо!

1 Ответ

0 голосов
/ 19 октября 2018

Добавление :radio в белые списки в ваших пост-параметрах решит проблему.Это позволит сохранить значение в базе данных.

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