討論區
lulalala opened this issue · 1 comments
** 目前已經有的東西
目前前台能夠看討論,只是完全不能寫
Comment::Topic 代表一個留言串
Comment::Post 是這個串下面的留言
Comment::Topic被用來當作各種頁面下面需要留言板的時候用
再來就是 Forum::Board 代表一個討論區的版面
Forum::Topic則是該版面下的一個討論主題
Forum::Topic 會有一個 Comment::Topic
我這次使用了 ActiveInteraction 做一些 model 操作
這是 service object 或是 command object 的一個設計模式,
相關的 class 在 app/interactions 下面,也許會重複用到。
蠻建議你讀讀看這個 gem 的 readme,我用以後獲益良多。
** Model
留言 model 增加一個 nullable user_id 欄位,要是有 user_id 就紀錄起來。目前能用來分辨管理者發的文。
其他的改變可能要看下面的需求。
** 前台
一般使用者要可以在某個板發新文章,一樣也用 google recaptcha 作阻擋
要是使用者有登入,就紀錄 user_id,讓他能在前台更改文章。
** 後台
後台要有類似前台的界面,只是每個留言可以刪除或者修改。
有個界面可以建立留言板
留言板的排列照一個數字(先把數字欄位加在留言板上)決定
有些留言板只能管理者作留言
各個板要有文章釘在最上面的功能,可以把數篇文章置頂
有個頁面,全部版面的留言都會分頁顯示,created_at desc,給管理者快速看最新的留言以便找出垃圾信,一樣也是從那刪除。
每個版面能設定文章排序是依照每篇文章被回覆的時間排,或者是每篇文章首篇被建立的時間。
need recaptcha site_key and secret_key