2012-03-12 51 views
12

我正在切換我的應用程序以使用simple_form,但我對如何顯示文本輸入有點困惑。例如,當我做到以下幾點:simple_form文本輸入

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

我得到一個textarea,而不是輸入w /一種文本類型。我如何強制simple_form輸出文本輸入?

回答

44

它的發生,因爲該領域是一個text列在數據庫中,而不是string/varchar /等,可以覆蓋像這樣的默認:

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

你可以閱讀所有的映射「映射/輸入可用」下的simple_form readme

+1

感謝您的信息。我希望那是在自述文件中。自述文件甚至沒有提到「textarea」或「as::string」選項。 – 2013-07-26 19:08:24

+0

已提交拉請求:https://github.com/plataformatec/simple_form/pull/855 – 2013-07-26 19:29:26

9

我會更新這個問題的答案,因爲新的方式來做到這一點與simple_form是這樣的:

f.input :foobar, as: :text 

正如你所看到的,使用「爲:文本」將使用text_area場,但如果你想修改行列數的金額,你應該做這樣的:

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

在這裏,您可以看到文檔的寶石:

https://github.com/plataformatec/simple_form

+1

您可以從hashrockets切換到符號分配,並具有'f.input:foobar,如::text,input_html:{rows:10 ,cols:10}' – Epigene 2015-02-11 14:57:31

+0

已更新,現在使用新的散列語法; D – 2015-02-11 15:08:02