teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

form_forの場合の流れ

2016/10/19 14:30

投稿

cameluby
cameluby

スコア891

answer CHANGED
@@ -2,4 +2,28 @@
2
2
  (ユーザーの更新など)
3
3
 
4
4
  `form_tag`はモデルに基づかないformを作るときに使います。
5
- (フォームオブジェクトを使用していない時のログイン画面やメール送信画面など)
5
+ (フォームオブジェクトを使用していない時のログイン画面やメール送信画面など)
6
+
7
+
8
+
9
+ **form_forの場合の簡単な流れ**
10
+ controllerで
11
+ ```ruby
12
+ @user = User.new
13
+ ```
14
+ のようにして、viewに渡す。
15
+ ```erb
16
+ form_for @user do |f|
17
+ ```
18
+ viewからポストしたparamsを受け取り、params[:user]のように渡されて来るので、作成や更新など何らかの処理をする
19
+ ```ruby
20
+ def create
21
+ @user = User.create(user_params)
22
+ end
23
+
24
+ private
25
+ def user_params
26
+ # prams[:user]を許可した属性のみにする
27
+ params.require(:user).permit(:name, :age)
28
+ end
29
+ ```