準備工作
我打算從以前的帖子 Rails and Database Migrations 結束的地方開始。 另外 , 您可以在 BlogDemo.zip 的基礎上開始本文的操作 ,此壓縮文件 包含了那個帖子中完成的項目。
測試
BlogDemo
項目
-
打開
BlogDemo
項目。
-
運行項目并瀏覽
http://localhost:3000/blog
以驗證其是否正常運行。
創建評論模型
1. 切換回 Projects 選項卡 , 右鍵單擊 Models 文件夾并生成一個名為 Comment 的新模型。
-
打開
003_create_comments.rb
并將
post_id
,
created_at
和
comment
列添加到上面
,
方法如下
:
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 268.5pt; HEIGHT: 168.75pt" alt="" type="#_x0000_t75"><imagedata o: src="file:///C:/DOCUME~1/fujiang/LOCALS~1/Temp/msohtml1/01/clip_image001.png"></imagedata></shape> -
右鍵單擊
BlogDemo
項目并選擇
Migrate Database > To Current Version
<shape id="_x0000_i1026" style="WIDTH: 453pt; HEIGHT: 79.5pt" alt="" type="#_x0000_t75"><imagedata o: src="file:///C:/DOCUME~1/fujiang/LOCALS~1/Temp/msohtml1/01/clip_image003.png"></imagedata></shape>
定義模型關系
-
將
has_many
關聯關系添加到
post.rb
:
-
將
belongs_to
關聯關系添加到
comment.rb
:
重新生成我們的控制器框
架(scaffolding)
在我們第一次創建此項目和生成 Post 模型的 框架 時 , 我們沒有選擇覆蓋現有的博客控制器 , 所以沒有創建 框架 操作。這樣,我們可以自定義 框架 操作,我們將刪除 blog_controller.rb 并再次生成 框架 。注意:不要使用覆蓋選項,因為已經自定義了視圖,而且不希望放棄這些自定義:
1. 刪除 blog_controller.rb
-
生成
Scaffold
(
框架
)
。將
Model Name
設置為
Post
,
Controller Name
設置為
Blog
。
-
打開最新創建的
blog_controller.rb
,
它現在擁有所有
框架
操作
(
索引、列表、顯示、新建、創建、編輯、更新和破壞
)
。
新建發表評論操作
我們將要修改顯示視圖,以使其包括可以添加評論的文本區。首先,我們將為發表評論新建一個操作。
-
修改顯示操作,以便將帖子
id
保存到
flash
:
-
創建下一個
post_comment
操作:
修改要發表評論的視圖
-
打開
show.rhtml
并在底部添加下列內容:
測試
顯示評論
我們的博客還未顯示我們所添加的評論,現在我們來修復此問題。
-
將
post_comments
實例變量添加到顯示操作,以收集評論:
-
將下列內容添加到
show.rhtml
以顯示評論。
和Comments
已經存在 , 其放置的位置可供參考 :
測試
完成的應用程序
BlogDemoComments.zip
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
