Подтвердить что ты не робот

Ввод текста simple_form

Я переключу свое приложение на использование simple_form, но я немного запутался в том, как отображать текстовый ввод. Например, когда я делаю следующее:

f.input :foobar # <textarea name = "model[foobar]"></textarea>

Вместо этого вместо текстового поля вместо ввода введите текст. Как заставить force_form выводить текстовый ввод?

4b9b3361

Ответ 1

Это происходит потому, что поле является столбцом text в базе данных, а не string/varchar/и т.д., вы можете переопределить значение по умолчанию следующим образом:

f.input :foobar, :as => :string

Вы можете прочитать обо всех сопоставлениях в simple_form readme в разделе "Доступные сопоставления/входы".

Ответ 2

Я обновлю ответ на этот вопрос, потому что новый способ сделать это с помощью simple_form выглядит так:

f.input :foobar, as: :text

Как вы можете видеть, использование "как:: text" будет использовать поле text_area, но если вы хотите изменить количество строк и столбцов, вы должны сделать это следующим образом:

f.input :foobar, as: :text, input_html: {rows: 10, cols: 10}

Здесь вы можете увидеть документацию для драгоценного камня:

https://github.com/plataformatec/simple_form