Сетка Bootstrap работает таким образом, что если вам не нужно менять ее при изменении размера браузера, вы можете установить только один размер и позаботиться обо всем остальном. col-md-12 должен нормально работать для вас все время.
Чтобы решить свой основной вопрос, проверьте вложенные элементы: https://getbootstrap.com/docs/4.0/layout/grid/#nesting
Я на мгновение уйду по касательной, но терпите меня.
Во-первых, я рекомендую вам использовать RESTful routing , поскольку это дает вы получаете доступ к некоторым лучшим методам и операциям Rails, таким как возможность do:
form_for(@album) do |f|
и определение того, куда вы хотите перейти, на основе состояния #new_record?
этого объекта.
Во-вторых, с новым form_for
на месте, вы сможете СУШИТЬ свои представления, выполнив:
<%= f.text_field :title %>
вместо:
<%= text_field :album, :title %>
И, наконец, объяснение того, почему переменная определена со знаком @ перед ним в Rails, также известным как «переменные экземпляра»:
Когда вы определяете переменную экземпляра в Rails, она доступна внутри этого экземпляра для всего запроса, где «экземпляр» представляет собой цепочку методов ActionController
и ActionView
, которые вызываются для выполнения всей визуализации и т. д. за вас. Определение его как переменной экземпляра сделает его доступным в вашем контроллере, в любом методе, который вы вызываете после его определения в контроллере, в ваших помощниках, ваших представлениях и частичных данных, отображаемых либо из ваших контроллеров, помощников или представлений.
По сути, он доступен для всего запроса, но не доступен внутри вашей модели.
Другие спецификации переменных - это переменные класса ( @@ some_useful_thing = 1
) и глобальные переменные ( $ some_other_useful_thing = 1
) и константы ( ALL_IN_UP_CASE = 1
).
По сути, он доступен для всего запроса, но не доступен внутри вашей модели.
Другие спецификации переменных - это переменные класса ( @@ some_useful_thing = 1
) и глобальные переменные ( $ some_other_useful_thing = 1
) и константы ( ALL_IN_UP_CASE = 1
).
По сути, он доступен для всего запроса, но не доступен внутри вашей модели.
Другие спецификации переменных - это переменные класса ( @@ some_useful_thing = 1
) и глобальные переменные ( $ some_other_useful_thing = 1
) и константы ( ALL_IN_UP_CASE = 1
).
Другие спецификации переменных: переменные класса ( @@ some_useful_thing = 1
), глобальные переменные ( $ some_other_useful_thing = 1
) и константы ( ALL_IN_UP_CASE = 1
) ,
Другие спецификации переменных: переменные класса ( @@ some_useful_thing = 1
), глобальные переменные ( $ some_other_useful_thing = 1
) и константы ( ALL_IN_UP_CASE = 1
) ,
Символ @ перед именем переменной относится к переменной экземпляра в текущем классе. Префикс: (двоеточие) создает символ. В вашем примере @ album.id
отправляет идентификатор переменной экземпляра @album
в form_tag
, позволяя form_tag
читать в этот объект из базы данных и заполните поля формы соответствующими данными из этого объекта. Символы, которые вы передаете в методах text_field
, - это то, что form_tag
использует для доступа к определенным свойствам объекта, который он создает из базы данных. Затем он помещает значения этих свойств в создаваемые текстовые поля.