2012-03-12 34 views
12

simple_formを使用するようにアプリケーションを切り替えていますが、テキスト入力の表示方法について少し混乱しています。私は次の操作を実行したときにたとえば:simple_formテキスト入力

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

私は、テキストの種類/ wの入力に代わり代わりにテキストエリアを得ます。 simple_formにテキスト入力を強制的に出力させるにはどうすればよいですか?

答えて

44

フィールドではなくstring/varcharの/ etcよりも、データベース内text列であるため、それが起こって、あなたはそうのようなデフォルト上書きすることができます。あなたはすべてのマッピングについて読むことができます

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

simple_form readmeの「Mappings/Inputs available」の下にあります。

+1

ありがとうございます。私はそれがReadmeにあったことを願っています。 Readmeには、 "textarea"または "as::string"という単語はまったく記述されていません。 –

+0

プルリクエストを送信しました:https://github.com/plataformatec/simple_form/pull/855 –

9

simple_formであることを行うための新しい方法は、このようなものですので、私は、この質問への答えを更新します:text_areaを使用します:あなたは「:テキストとして」を使用して、見ることができるように

f.input :foobar, as: :text 

フィールドが、あなたは、あなたがこのようにそれを行う必要がありますrowsとcolsの量を変更したい場合:ここで

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

あなたが宝石のためのマニュアルを参照してくださいすることができます

https://github.com/plataformatec/simple_form

+1

ハッシュチェックからシンボル割り当てに切り替えて、 'f.input:foobar、as::text、input_html:{rows:10 、cols:10} ' – Epigene

+0

が更新されました。新しいハッシュ構文を使用しました; D –

関連する問題