Не может изменить высоту текстового поля в simple_form
Я пробовал
#Default size for text inputs.
config.default_input_size = 10
из config/initializers/simple_form.rb
Я также пробовал <%= f.input :message, :input_html => {:size => 10} %>
Но ни одно из них не меняет ничего о том, как появляются мои текстовые поля.
Ответы
Ответ 1
Вам нужно сделать это
<%= f.input :message, :input_html => {:rows => 10} %>
Атрибуты тега текстовой области HTML содержат два атрибута: rows
и cols
, которые позволяют указать количество строк и столбцов (то есть ширину) вашей текстовой области. Если это не работает, откройте консоль и убедитесь, что ваш css переопределяет высоту.
Ответ 2
Передача: параметры ввода_html переопределяют значения по умолчанию. Вы должны проверять значения атрибутов для классов css, которые могут изменять их поведение.
<%= f.input : message, :as => :text, :input_html => { 'rows' => 5} %>
Ответ 3
Мне удалось это сделать, добавив :as => :text
к атрибутам поля ввода, а затем добавив стиль и строки во входной файл html:
<%= f.input :message, label: "Message: ", :as => :text, input_html: { :style=> 'width: 100%;', :rows => 4} %>
Для меня это был :as => :text
, который получил атрибут "rows", а ширина 100% сделала его текучим, а не фиксированным.
Ответ 4
если вы хотите изменить "высоту", вам нужно изменить атрибут css:
<%= f.input :message, input_html: {style: 'height:10px;'} %>
Ответ 5
Старый вопрос, я знаю. Это то, что сработало для меня с SimpleForm 3.2.0 и Rails 4.2.3:
<%= f.input_field :field_name, as: :text, class: "my-custom-class", rows: 5 %>
Ответ 6
Вы можете сделать
<%= f.input :message, :size => "10x10" %>
для высоты и ширины.
Он может работать в текстовом поле, но определенно работает для text_area. Вероятно, вы захотите использовать text_area для сообщения.
Ответ 7
Попробуйте Firebug или Code Inspector от Google Chrome, чтобы проверить элемент text_field
, посмотреть точное имя класса и изменить его непосредственно в файле стилей.