作者guitarpl (撞牆期)
看板Ruby
標題[問題] 關於Rails的new
時間Tue Oct 15 12:23:09 2013
新手有個疑問
一般在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
1F:推 kusoayan:1. 的確是為了給 form 使用,跟 create action 中的 10/15 15:03
2F:→ kusoayan: @article 是不同個東西 10/15 15:04
3F:推 kusoayan:2. 是根據 new action 的 view 中的 form,form_for 在 10/15 15:06
4F:→ kusoayan: 給定 @article 後會根據他的 model 名字產生對應的 10/15 15:07
5F:→ kusoayan: 表單欄位 10/15 15:07
6F:→ guitarpl:請問您回答2的@article 是指new的@article 而 10/15 18:30
7F:→ guitarpl:params[:article]中的:article 是new post出來的值嗎 10/15 18:32
8F:推 johnlinvc:1, 對 2, 對 10/15 23:59
9F:→ guitarpl:瞭解了~感謝 10/16 01:06
10F:推 lTERRAl:看你怎麼寫 form_tag builder就完全不需先建造object 10/16 01:13
11F:→ lTERRAl:使用model-based form builder 好處就是可代入物件參數 10/16 01:14
12F:→ lTERRAl:你就可以預先建立預設值 再傳遞到form裡面給使用者改 10/16 01:16
13F:→ lTERRAl:像是給使用者新增一頁日記 就會自動代填上面日期跟時間 10/16 01:17
14F:→ guitarpl:再看了一下Guide,有比較清楚了,有些東西真的還滿神奇的 10/17 22:32