#ruby-on-rails #simple-form
#ruby-on-rails #простая форма
Вопрос:
Как я могу изменить размер и максимально допустимые символы для поля, используя простые формы. Я пробовал следующее, но не работает:
<%= f.input :lastname, :size => 40, :max => 4 %>
Я знаю, что есть default_input_size
в initializers/simple_form.rb
, однако я не хочу изменять размер глобально, а только для нескольких полей.
Как бы мне это сделать?
Комментарии:
1. Чем так хороша простая форма?.. Это было бы как
f.text_filed :last_name, :size => 40, :maxlength => 4
в обычных Rails. Еще проще?!2. @rubyprince simpleform
f.input
также заботится о (переведенной) метке и других приятных функциях, которые в противном случае вам пришлось бы реализовывать вручную.
Ответ №1:
<%= f.input :lastname, input_html: { maxlength: 15, size: 40} %>
Комментарии:
1. также я бы предпочел «новый» синтаксис
= f.input :lastname, input_html: {maxlength: 15, size: 100}
(в haml)
Ответ №2:
попробуйте использовать <%= f.input :lastname, :input_html => {:size => 40, :maxlength => 4} %>
Комментарии:
1. Этот ответ теперь является дублирующим, хотя и более правильным, поскольку он копирует значения из OP.
Ответ №3:
Или попробуйте использовать CSS <%= f.input :lastname, :input_html => {:style => 'width: 250px'} %>
Ответ №4:
Добавление размера и максимальной длины в input_html не имело для меня никакого эффекта. Я использую «input_field» вместо «input». Итак, сработало следующее:
<%= form.input_field :effective_from_date,
as: :string,
class: 'activate-datepicker',
maxlength: 11,
size: 11,
label: false %>
Ответ №5:
Возможно, вы объявили, что в вашем css для ширины ввода установлено значение «auto». Удалите это объявление, а затем настройте.