フォームヘルプ?


フォーム.フォーム、フォーム、フォーム.あなたが私のように、ちょうどコーディングの土地にあなたの旅を始めていると、すでにこの土地の中にいくつかの異なる言語があるという事実に圧倒されているし、また、おそらくすべてのこれらの異なるフォームの構文についてはかなり強調している.私は、私がまだそうであるということを知っています、そして、多分、私が第1にこのブログを書いている理由です.私はFormMountタグ、formManyのためのForMount、およびそれらの各々が彼ら自身の構文で来るということを意味します.UGH幸いにも私たちのために、FormRangeタグとForMountは両方のソフトdeprecatedされ、はるかに長いための周りではありません.でも.私は、その日まで、我々は彼ら全員を正しく学ばなければならないと思います?

ホルンナムタグ


すべてのフォームヘルパーの最も基本的な形式はformoungタグです.FormSumタグは、URLのパスとモデルの関連付けを持つ単純なフォームで使用するものです.ForMountタグを作成するときは、HTTP動詞だけでなく、それを取るURLパスを指定する必要があります.
注意:置換タグまたは式を使用して、スクリプトの各行にスクリプトを囲む行を除外します.このhereに関する更なるドキュメンテーション
form_tag(url: '/path', method: :get) do 
  label_tag :label
  text_field_tag :label
  submit_tag "Submit"
end
Railsプロジェクトが設定されていて、' path 'のルートが定義されていたならば、上記のコードは、“label”とラベルをつけられた入力ボックスと“submit”というラベルの付いた入力ボックスを持つパスにフォームをレンダリングします.かなりクールな右?今すぐFormSumタグは、私は今自分自身を理解し始めているので、私は今すぐに取得することはありません多くのオプションを受け入れますが、あなたがここにFormorRiseタグを自分でGorgeしたい場合はvery helpful API docです.

フォーミュラー


今、私たちはあなたがあなたのフォームを関連付けるためにモデルを持っているとき使用するつもりであるものであるForMountを持っています.あなたがユーザーモデルを持っていると言いましょう、そして、あなたは各々のユーザーにフォームを記入することができて欲しいです.以下の通りです.
form_for @user do |f|
  f.label :username
  f.text_field :username
  f.submit
end 
これはユーザ名ボックスと“Submit User”とラベルされたボタンでフォームをレンダリングします.はい!Railsは、フォームを作成しているモデルインスタンスにSubmitボタンを関連付けるのに十分スマートです.本当に右クール?そして、それは最高のフォームでさえありません!

フォルマント


唯一のForMount - withは、すべてのケースで使用されることができる1つの構文への構文のためにFormLoungeタグとForMountを結合する意図でつくられました.あなたがモデルまたはモデルのクラスなしでカスタムルートを持っているかどうかは、ForMountを使用していないときに問題を構築しました.モデルがあるかどうかを指定できます.たとえば、カスタムルートのみを使用すると、以下のコードに似たものを使用できます.
form_with(url: '/path', method: :get) do 
  label_tag :label
  text_field_tag :label
  submit_tag "Submit"
end
これは、上記のフォームとして同じHTMLとフォームをレンダリングします.FORMUNDERを使ってFormRangeで作った同じフォームをレンダリングしたいと思いますか?
form_with model: @user do |f|
  f.label :username
  f.text_field :username
  f.submit
end 
FormLungタグとForMountがすぐに我々が我々がFormRangeを持っている今必要でないので、我々を残している理由を見るのは簡単です.しかし、私はまだ彼らがオフに建てられているとしてFormRangeとして学ぶ価値があると言うだろう.

フォームヘルパー


私たちのフォームは、チェックボックス、ドロップダウンメニューなどのようにかなり不自由です.それはフォームヘルパーが救助のために来るところです.すべての魔法のレールは、いくつかの組み込みのヘルパーが付属しています.これらは、我々のフォームをより汎用性にすることができます.例えば、あなたはペット養子縁組代理店を運営して、ペットを採用したがっているユーザーのために単純な採用形態を作りたいと言います.あなたはどうにか、養子縁組のために利用できるペットのリストを持っていなければなりません.あなたは簡単にCollectionCount選択ヘルパーでこれを達成することができます.
form_with model: @user do |f|
   f.label :available_pets
   f.collection_select :pets, Pet.all, :id, :name
   f.submit
end
これは、あなたのデータベースにあるすべてのペットのドロップダウンメニューでフォームをレンダリングします.CollectionCount selectに渡される引数は、最初にコントローラ(以下、ペットという)であり、次に実際に必要なコレクション(pet . all)を処理するコントローラーです.これは、多くのフォームヘルパーの1つだけです.あなたがそれらのより多くを使う方法を見たいならば、あなたが知っている必要があるすべては、here!です

結論


私の非常に素骨の形の説明をチェックアウトしてくれたおかげで、私はそれがすべての有用であることを期待していますか誰かに有益な情報を始めた.また、私が書いた何かが不正確であるならば、または、あなたが私が重要な何かを逃したと思うならば、知らせてください.今すぐそこに取得し、いくつかのフォームを書く!