LoginSignup
4
0

More than 5 years have passed since last update.

ERBタグ関係 学んだ事まとめ

Last updated at Posted at 2018-09-01

ERBタグとは

<%=と%>で囲まれた部分をERBタグと言います。
ERBタグは拡張子が「erb」のビューファイルで使用することができます。
ERBタグを使用して記述されたコードはビューファイルが読み込まれる際にHTMLコードとなって読み込まれます。
また-%>のように閉じるタグに-をつける形もあります。
このようにすることで、余計な改行を取り除くことができます。

<%= %>と<% %>の違いは、ERBタグに囲まれた処理の返り値を出力するか、しないかという違いがあります。

link_toメソッド

link_toはERBタグの中で使用することができるメソッドです。
このメソッドは引数を指定することで様々なリンクを生成します。

通常HTMLコード内でリンクを生成する際にはaタグを使用します。
link_toメソッドを使って記述を行うと、HTMLコードが読み込まれる際にaタグに変換されるので、サイトを表示した際にはaタグと同様に、リンクとして表示されます。

  1. 第一引数に文字列型で表示する文言
  2. 第二引数に文字列型でルーティングのパスを指定します
  3. httpメソッドを変えたければ第三引数で指定できる
<%= link_to 'サインアウト', "/users/sign_out", method: :delete %></li>

form_for(ヘルパーメソッド)

特定のモデルを編集・追加するためのフォームを生成するヘルパーメソッドです。
特定のテーブルにレコードだけを新規作成、更新するときに利用します。

form_forは、引数に渡すインスタンスの状態によって、フォームを投稿した際に実行されるアクションを自動で切り替えてくれます。
newメソッドによって新たに生成されたばかりのインスタンスならばcreateアクションを、findメソッドなどによってDBの情報を反映させた状態のインスタンスならばupdateアクションを動かします。

<%= form_for(@モデルクラスのインスタンス) do |f| %><% end %>

メソッド一覧

railsの公式ドキュメント

f.label labelのlabelタグを表示
f.text_field textのinputタグを表示
f.date_select モデルで設定したフィールドをselectタグで選べるようにして表示
f.check_box checkboxのinputタグを表示
f.number_field numberのinputタグを表示
f.submit submitのinputタグを表示

form_forとform_tagの違い

  • form_for: モデルがあるデータを扱うときに使う。
    params.require(:モデル名).permit(:カラム名)で入力した情報が取得できます。
  • form_tag: 単にデータを特定のアクションに送りたい時に使う。(検索フォームなど)
    params.permit(:キー名)で入力した情報が取得できます。

hidden_field_tag

hidden_field_tag は、ユーザーが入力する必要の無い自明のデータをパラメーターとして送信したい時に利用します。

4
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0