일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- java
- 건담
- 연습문제
- springboot
- vscode
- 건담베이스
- Web
- Flutter
- 日本語
- 반다이몰
- html
- DART
- Spring
- jsp
- javascript
- 비즈니스일본어
- CSS
- 単語
- 디지몬
- メソッド
- rails
- 인프런
- 자바
- nico
- 일본어
- ruby
- 一日一つメソッド
- C로 시작하는 컴퓨터 프로그래밍4판
- Python
- rails7
Archives
- Today
- Total
AR삽질러
Rails 一日一つメソッド (Day34) form_withメソッド 본문
728x90
Rails 一日一つメソッド (Day34) form_withメソッド
1. form_withメソッドとは
- Rails5.1から導入され form_for, form_tagの機能を統合し、form_withで model formとmodelと関連がないFormを生成できる。 - form_withは情報を送信するためにヘルパーメソッドで、form_withを使うことによって、簡単に入力Formに必要なHTMLを作成する事ができる。
1) 入力された情報をDataBaseに保存しない時
<%= form_with url: "Pass" do |form| %>
<!-- 内容 -->
<% end %>
2) 入力された情報をDataBaseに保存する時
<%= form_with model: modelcalssのインスタンス do |form| %>
<!-- 内容 -->
<% end %>
<%= from_with model: @post do |form| %>
<%= form.text_field :title %>
<%= form.text_area :body %>
<%= form.submit "sumbit" %>
<% end %>
2. form_withメソッド以前に使ったヘルパーメソッド
1) form_tag
<%= form_tag('/main', method: :post) do %>
<input type="text" name="nickname">
<input type="submit">
<% end %>
2) form_for
<%= form.for(@user) do |f| %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
3. form_withの基本使い方
1) modelオプション
<%= form_with model: ModelClassのインスタンス do |form| %>
<!-- 内容 -->
<% end %>
2) urlオプション
<%= form_with url: "Pass" do |form| %>
<!-- 内容 -->
<% end %>
<%= form_with url: root_path do |form| %>
<!-- 内容 -->
<% end %>
form_with引数
1) model
- Formと繋がるModelのオブジェクトを指定する。form_withは自動にmodelの状態(新しいレコードなのか、既存のレコードなのか、など)を判断し、URLとHTTPメソッドを推論する。
# Controller
def new
@user = User.new
end
- Controllerで作成したインスタンスが newメソッドで新たに作成されて情報が何もない場合は、create, findアクションなどで作成される。
- 情報を持っている場合は、updateアクションへ自動的に振り分けてくれる。
# View
<%= form_with model: @post do |form| %>
<%= form.text_field :title %>
<%= form.text_area :body %>
<%= form.submit "submit" %>
<% end %>
728x90
반응형
LIST
'Ruby > RubyOnRails-日本語' 카테고리의 다른 글
Rails 一日一つメソッド (Day36) text_field (0) | 2024.02.19 |
---|---|
Rails 一日一つメソッド (Day35) labelタグ (0) | 2024.02.16 |
Rails 一日一つメソッド (Day33) CSSファイルの適用 (0) | 2024.02.14 |
Rails 一日一つメソッド (Day32) stylesheet_link_tagメソッド (0) | 2024.02.13 |
Rails 一日一つメソッド (Day31) joinsメソッド (0) | 2024.02.08 |