простой текстовый ввод - PullRequest
14 голосов
/ 12 марта 2012

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

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

Вместо этого я получаю текстовую область вместо ввода с типом текста.Как я могу заставить simple_form выводить текстовый ввод?

Ответы [ 2 ]

48 голосов
/ 12 марта 2012

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

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

Вы можетеПрочитайте обо всех сопоставлениях в readme в разделе «Доступны сопоставления / входы».

9 голосов
/ 19 октября 2014

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

f.input :foobar, as: :text

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

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

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

https://github.com/plataformatec/simple_form

...