Форма Rails над модальным окном Twitter Bootstrap

Я пытаюсь создать подписку на информационный бюллетень с нуля, используя модальные рельсы 4 и Twitter Bootstrap 3.

Я создал модель подписчика и контроллер подписчиков, который содержит метод «создать».

Кнопка, открывающая модальное окно, должна появиться в любое время, поэтому я включил ее в панель навигации, расположенную в файле представления макета application.html.erb.

Это код, который я использовал для модального окна: (в views/layout/application.html.erb)

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
            <h4 class="modal-title" id="myModalLabel">Newsletter Subscriptions</h4>
          </div>
          <% form_tag(controller: 'subscribers', action: 'create') do %>
              <div class="modal-body">              
                    <p><%= text_field_tag :email, params[:email] placeholder: "Enter your email address" %></p>             
              </div>
              <div class="modal-footer">
                 <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <p><%= submit_tag "Subscribe", class: "btn btn-primary" %></p>                  
              </div>
          <% end %>
        </div>
      </div>
    </div>

По какой-то причине в модальном окне ничего не отображается, кроме заголовка. Где я ошибаюсь?




Ответы (1)


Вам просто нужно использовать <%= form_tag вместо <% form_tag. Я думаю, что в предыдущих версиях Rails использовалось <% form_tag, но поскольку form_tag выводит html, его следует использовать с <%= %>.

person Robin    schedule 18.09.2014