箱のプログラミング日記。

渋谷の自社開発企業でRails書いてます。

form_tagの基本構造と使い方

form_tagの基本構造と記述の仕方について、使い方をよく理解していなかったのでまとめました。

 

form_tagとは

railsでアプリケーションを作成する際のヘルパーメソッドで、

HTMLで投稿フォームを作成するよりも簡単に作ることができ、

セキュリティ面でもform_tagを使用することが推奨されている。

 

form_tagの基本構造

form_tag(フォームでボタンを押すと飛ぶリンク先 , HTMLメソッド) do
ここに詳しいフォームの項目を書いていく
end

 

もう少し詳しく書くと、以下のようなパターンがあります

 

①リンク先を相対パスで指定
form_tag('/tweets', method: :post)do
 中身
end

 

②リンク先を名前つきルートで指定
form_tag(tweets_path, method: :post)do
 中身
end

 

③リンク先をコントローラーとアクションで指定(対応するビューに飛ぶ)
form_tag({:controller => 'tweets' :aciton => 'create'},{:method => :post})do
 中身
end

 

④リンク先をコントローラーとアクションで指定(③をシンボル化したもの)
form_tag({controller: :tweets, action: :create},{method: :post})do
 中身
end

 

以上の4種類の書き方は全て同じ意味を持ちます。

 

色々な書き方がありますが、結局はリンク先に「どのビューファイルを呼び出すのか」ということを記述しています。

それがパスなのか、名前つきルートを使うのか、コントローラーとアクションを記述するのか、の違いです。

 

 

 

以下参考

www.sejuku.net