[問題] 關於Rails的new

看板Ruby作者 (撞牆期)時間11年前 (2013/10/15 12:23), 編輯推噓4(4010)
留言14則, 4人參與, 最新討論串1/1
新手有個疑問 一般在CRUD的時候 在new這個action,通常會寫這樣 def @article = Article.new end 然後create def @article = Article.new(params[:article]) @article.save end 我有兩個問題 1. 在new action 中的 Article.new,目的是為了 form_for所以才產生, 跟create action 中的@article 沒有關係? 2. params[:article] 的hash,是根據new action中的 @article 來命名? 這邊觀念仍然有點模糊,再麻煩各位幫我解答了~感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.143.166

10/15 15:03, , 1F
1. 的確是為了給 form 使用,跟 create action 中的
10/15 15:03, 1F

10/15 15:04, , 2F
@article 是不同個東西
10/15 15:04, 2F

10/15 15:06, , 3F
2. 是根據 new action 的 view 中的 form,form_for 在
10/15 15:06, 3F

10/15 15:07, , 4F
給定 @article 後會根據他的 model 名字產生對應的
10/15 15:07, 4F

10/15 15:07, , 5F
表單欄位
10/15 15:07, 5F

10/15 18:30, , 6F
請問您回答2的@article 是指new的@article 而
10/15 18:30, 6F

10/15 18:32, , 7F
params[:article]中的:article 是new post出來的值嗎
10/15 18:32, 7F

10/15 23:59, , 8F
1, 對 2, 對
10/15 23:59, 8F

10/16 01:06, , 9F
瞭解了~感謝
10/16 01:06, 9F

10/16 01:13, , 10F
看你怎麼寫 form_tag builder就完全不需先建造object
10/16 01:13, 10F

10/16 01:14, , 11F
使用model-based form builder 好處就是可代入物件參數
10/16 01:14, 11F

10/16 01:16, , 12F
你就可以預先建立預設值 再傳遞到form裡面給使用者改
10/16 01:16, 12F

10/16 01:17, , 13F
像是給使用者新增一頁日記 就會自動代填上面日期跟時間
10/16 01:17, 13F

10/17 22:32, , 14F
再看了一下Guide,有比較清楚了,有些東西真的還滿神奇的
10/17 22:32, 14F
文章代碼(AID): #1INCCmIV (Ruby)
文章代碼(AID): #1INCCmIV (Ruby)