プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Ruby on Rails
  • 【Ruby on Rails】「Scaffolding」で自動生成された共通の「部分テンプ…
 
 
     
  • サーバー言語  
    • Ruby
    • Rails
    • PHP
    • Laravel
  •  
  • データ設計  
    • NoSQL
    • SQL
    • RDB設計
    • Oracle
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    •  
    • セキュリティ
    • コンテナ全般
    • Linux
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
    • TypeScript
  •  
  • 設計  
       
    • 実装設計
    •  
    • 認証設計
    • 例外設計
    •  
    • 動画設計
    • DDD
  • 問い合わせ
  

【Ruby on Rails】「Scaffolding」で自動生成された共通の「部分テンプレート」の「_form.html.erb」を見てみる。

06.24

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

部分テンプレートは、他の画面から共通処理として呼び出されるテンプレートになります。

部分テンプレート(app/views/users/_form.html.erb)

new.html.erbから共通の部分テンプレートとして呼び出されているファイルになります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<%= form_with(model: user, local: true) do |form| %>
  <% if user.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(user.errors.count, "error") %> prohibited this user from being saved:</h2>
 
      <ul>
      <% user.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>
 
  <div class="field">
    <%= form.label :name %>
    <%= form.text_area :name %>
  </div>
 
  <div class="actions">
    <%= form.submit %>
  </div>
<% end %>

form_withビューヘルパー(<%= form_with(model: user, local: true) do |form| %> ~ <% end %>)

引数の形式によって様々なformタグを出力するヘルパーメソッドです。

ヘルパーメソッドとは、ビューやコントローラで共通して呼び出されるメソッドのことです。

構文

1
2
3
<%= form_with(model: モデルクラスのインスタンス, local: 真偽値) do |form| %>
表示するフォームの内容
<% end %>

今回の場合はモデルクラスのインスタンスにuserが指定されているので、userモデルクラスの値をフォームの内容に使用することができます。

local:真偽値

Ajaxによるデータ更新を許可するかどうかの設定になります。

真偽値 説明
true Ajaxによるデータ更新を許可する必要がない場合に指定する。
false Ajaxによるデータ更新を許可する必要がある場合に指定する。

Ajaxについては、下記の記事で解説していますので、合わせてご覧下さい。

【JavaScript】Ajaxについて

画面に出力されるHTML

下記のHTMLが出力されます。

1
2
3
4
5
<form action="/users" accept-charset="UTF-8" method="post">
<input name="utf8" type="hidden" value="&#x2713;" />
<input type="hidden" name="authenticity_token" value="Q7XS5s0p+B5fz9JkDZvOxWwzRtu5J5q3jBQXYaaQHOMLczS56uCvn1a97mU8gOv2l9PdP3jaK58ATFc+mvVVzg==" />
…
</form>

「<input type=”hidden” name=”authenticity_token”…」から始まるinputタグは、CSRF(クロスサイトリクエストフォージェリ)という不正アクセス対策に使用されるタグのことです。

labelビューヘルパー(<%= form.label :name %>)

構文

1
<%= form.label フィールド名 %>

フィールド名

モデルクラスのインスタンスのフィールド名のことです。

出力されるHTML

1
<label for="user_name">Name</label>

for属性で指定されている値は、その後に生成されるテキストエリア等の値と同じになります。

text_areaビューヘルパー(<%= form.text_area :name %>)

構文

1
<%= form.text_area 引数,属性名1:値1 %>

登録画面に、「textareaタグ」を出力します。任意ですが、出力されるtextareaタグに属性を増やしたい場合は、カンマ区切りで指定します。

出力されるHTML

1
2
<textarea name="user[name]" id="user_name">
</textarea>

name属性には、「オブジェクト名[カラム名]」のような配列が出力されています。

submitビューヘルパー(<%= form.submit %>)

構文

1
<%= form.submit %>

登録画面にサブミットボタンを出力します。

出力されるHTML

1
<input type="submit" name="commit" value="Create User" data-disable-with="Create User" />

data-disable-with属性は、二重クリック防止対策のための属性です。

 

  • 2018 06.24
  • miyabisan2
  • コメントを書く
  • Ruby on Rails
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 06.19

    【Ruby on Rails】データベースの接続設定をするには?

  2. 2019 12.02

    【Ruby on Rails】ログ出力の記述法や様々な設定方法

  3. 2019 12.14

    【VSCode】Railsのデバッグ設定(Mac)

  4. 2019 12.08

    【Ruby on Rails】「Turbolinks」によるページ遷移高速化

  5. 2020 06.20

    【Ruby on Rails】コントローラのレンダリングについて

  6. 2020 01.19

    【Ruby on Rails】ActiveRecordの基本メソッドについて(save、create等)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Ruby on Rails】「Scaffolding…

ナイロンの「ビジネスバッグ」にカビが生えた場合の対処法

RETURN TOP

アーカイブ

  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年6月
  • 2019年5月
  • 2019年3月
  • 2019年1月
  • 2018年12月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月

カテゴリー

  • .NET Framework
  • Ajax
  • Android
  • Apache
  • API
  • Auth0
  • AWS
  • Babel
  • Babylon.js
  • Bitbucket
  • BootStrap
  • C#
  • C++
  • CGI
  • CSS
  • Cypress
  • C言語
  • DBスペシャリスト
  • DDD
  • DevOps
  • Django
  • Docker
  • Eclipse
  • EKS
  • Git
  • GitHub Actions
  • GitLab
  • GraphQL
  • gRPC
  • Heroku
  • HTML
  • HTML5
  • Java
  • JavaScript
  • Javaサーブレット
  • Jekins
  • JIRA
  • jQuery
  • JSP
  • JSTL
  • JUnit
  • Kubernetes
  • Laravel
  • linux
  • Mac
  • Maven
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • OAuth
  • Open ID Connect
  • Oracle
  • OS
  • PHP
  • PL/SQL
  • PostgreSQL
  • PowerShell
  • PWA
  • Python
  • React
  • Redis
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Salesforce
  • Sass
  • SEO
  • Slack
  • SPA
  • Spring Boot
  • Spring Framework
  • Spring MVC
  • SQL
  • Struts
  • Struts2
  • Sublime Text
  • Swagger
  • Tailwind CSS
  • Three.js
  • Tomcat
  • TypeScript
  • UML
  • Unity
  • UX
  • VB.NET
  • Visual Basic
  • VSCode
  • Vue.js
  • WebGL
  • WebHook
  • webpack
  • WebRTC
  • WebSocket
  • Webサービス開発
  • Webデザイン
  • Web技術
  • wireshark
  • XD
  • XML
  • インフラ
  • オブジェクト指向
  • クラウド
  • ゲームプランニング
  • ゲーム開発
  • サーバー
  • システム開発
  • スクラム
  • スマホアプリ開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • バージョン管理システム
  • ハードウェア
  • プログラミング全般
  • マイクロサービス
  • マルチメディア
  • リファクタリング
  • 人間関係
  • 会計知識
  • 体調管理
  • 副業
  • 動画
  • 国際化
  • 応用情報
  • 情報処理技術者試験
  • 文字コード
  • 日常生活
  • 未分類
  • 業務知識
  • 要件定義
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | Wordpress Thema | @