[問題] 關於Rails的new

作者: guitarpl (撞牆期)   2013-10-15 12:23:09
新手有個疑問
一般在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 來命名?
這邊觀念仍然有點模糊,再麻煩各位幫我解答了~感謝
作者: kusoayan (Bert)   0000-00-00 00:00:00
1. 的確是為了給 form 使用,跟 create action 中的@article 是不同個東西2. 是根據 new action 的 view 中的 form,form_for 在給定 @article 後會根據他的 model 名字產生對應的表單欄位
作者: guitarpl (撞牆期)   0000-00-00 00:00:00
請問您回答2的@article 是指new的@article 而params[:article]中的:article 是new post出來的值嗎
作者: johnlinvc (阿翔)   0000-00-00 00:00:00
1, 對 2, 對
作者: guitarpl (撞牆期)   0000-00-00 00:00:00
瞭解了~感謝
作者: lTERRAl (臥龍光線 \|/ \|/)   0000-00-00 00:00:00
看你怎麼寫 form_tag builder就完全不需先建造object使用model-based form builder 好處就是可代入物件參數你就可以預先建立預設值 再傳遞到form裡面給使用者改像是給使用者新增一頁日記 就會自動代填上面日期跟時間
作者: guitarpl (撞牆期)   0000-00-00 00:00:00
再看了一下Guide,有比較清楚了,有些東西真的還滿神奇的

Links booklink

Contact Us: admin [ a t ] ucptt.com