我正在切换我的应用程序以使用simple_form
但我对如何显示文本输入感到有些困惑。例如,当我执行以下操作时:
f.input :foobar # <textarea name = "model[foobar]"></textarea>
我得到一个textarea而不是输入w /一种文本。如何强制simple_form输出文本输入?
答案 0 :(得分:48)
它正在发生,因为该字段是数据库中的text
列,而不是string
/ varchar
/等。您可以覆盖默认值,如下所示:
f.input :foobar, :as => :string
您可以在“可用的映射/输入”下阅读simple_form readme中的所有映射。
答案 1 :(得分:9)
我将更新这个问题的答案,因为使用simple_form的新方法是这样的:
f.input :foobar, as: :text
正如您所看到的,使用“as :: text”将使用text_area字段,但是如果要修改行数和列数,则应该这样做:
f.input :foobar, as: :text, input_html: {rows: 10, cols: 10}
在这里,您可以看到gem的文档: