simple_form文本输入

Kyl*_*cot 14 ruby-on-rails ruby-on-rails-3 simple-form

我正在切换我的应用程序使用simple_form但我对如何显示文本输入有点困惑.例如,当我执行以下操作时:

f.input :foobar # <textarea name = "model[foobar]"></textarea>
Run Code Online (Sandbox Code Playgroud)

我得到一个textarea而不是输入w /一种文本.如何强制simple_form输出文本输入?

And*_*all 48

它正在发生,因为该字段是text数据库中的一列,而不是string/ varchar/ etc.,您可以覆盖默认值,如下所示:

f.input :foobar, :as => :string
Run Code Online (Sandbox Code Playgroud)

您可以在"Mappings/Inputs available"下阅读simple_form自述文件中的所有映射.


Dem*_*gus 9

我将更新这个问题的答案,因为使用simple_form的新方法是这样的:

f.input :foobar, as: :text
Run Code Online (Sandbox Code Playgroud)

如您所见,使用"as :: text"将使用text_area字段,但是如果要修改行数和列数,则应该这样做:

f.input :foobar, as: :text, input_html: {rows: 10, cols: 10}
Run Code Online (Sandbox Code Playgroud)

在这里,您可以看到gem的文档:

https://github.com/plataformatec/simple_form