1,創建文章對應的評論表,一對多的關係html
rails generate model Comment comment:string body:text article:referencessql
其中article:references是創建與文章對象關聯外鍵數據庫
2,在文章的模型中添加has_many :comments。表示一篇文章對應多條評論app
3,添加路由---嵌套路由ui
resources :articles dospa
resources :commentscode
endorm
4,redirect_to @article的原理htm
返回的是localhost:blogDemo/articles/1頁面,會從新定向到@article這個對象的show頁面對象
5,build和new
save:rails中的save實際上是create_or_update,新建或修改記錄!不必定是新建,切記
new :只是在內存中新建一個對象,操做數據庫要調用save方法。
create = new + 執行sql。
build:與new基本相同,多用於一對多狀況下。
6,在頁面局部視圖的循環
<%=
render
@article
.comments
%>
render
方法會遍歷 @article.comments
集合,把每一個評論賦值給一個和局部視圖同名的本地變量,在這個例子中本地變量是 comment
,這個本地變量能夠在局部視圖中使用。
7,在頁面局部視圖的新增嵌套循環
<%=
render
"comments/form"
%>
第二個
render
方法的參數就是要渲染的局部視圖,即 comments/form
。Rails 很智能,能解析其中的斜線,知道要渲染 app/views/comments
文件夾中的 _form.html.erb
模板
8,文章中的關聯刪除,須要在文章的模型中加入關聯刪除的字段
dependent:
:destroy