作者programer (低調Q)
看板Ruby
標題[問題] user和post的權限設定以及like實作
時間Sun Aug 30 12:31:16 2015
各位前輩好,初學rails不久最近從基本的user新增post的練習開始
遇到了以下兩個小問題,煩請大家指點
---
目前有user和post兩個model
user部分是用devise
post部分則用resources
1. like的功能
當user新增一個post時,其他user都可以對他按like
如何實作出這樣的功能
因為想在post那邊有個like/unlike的按鈕,所以需要記住哪些人有like
2. 關於修文/刪文權限
對於user,有兩種身分:一般使用者/管理員
每個user都可以自由發文
發文之後只有原作者&管理員可以修改文章
發文之後只有管理員能夠刪除文章
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.74.144
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Ruby/M.1440909079.A.5D2.html
1F:推 nyc0125: 1.migrate 一個 like table 紀錄 user post 的多對多關係 08/30 12:42
感謝大大教我google XD
3F:推 kpfzboekbof: like可以用acts_as_votable這個gem 08/30 13:13
我研究看看這個gem,THX
※ 編輯: programer (111.250.74.144), 08/30/2015 13:19:03
4F:推 nyc0125: like 的行為蠻簡單的,除非你有需要其他 method 輔助 08/30 17:23
method輔助的意思是?
5F:→ nyc0125: 不然自己做其實很方便,加兩行關聯而已 08/30 17:24
6F:→ nyc0125: user role 做好之後,在 controller 與按鈕顯示前加判斷 08/30 17:26
7F:→ nyc0125: 還是說你的問題比較在怎麼建出權限系統? 08/30 17:26
權限系統的意思是?
※ 編輯: programer (111.250.76.3), 08/30/2015 23:01:28
8F:推 s20a3264: before_action :correct_user, only: [:edit, :update] 09/01 02:10
9F:→ s20a3264: before_action :admin_user , only: :destroy 09/01 02:11
10F:→ s20a3264: 然後你在自己定義 correct_user跟admin_user 這兩個方法 09/01 02:12
11F:→ s20a3264: 比如如果不是管理員,會導向前一個頁面等等 09/01 02:14
感謝^^ 清楚明瞭
※ 編輯: programer (140.112.218.128), 09/01/2015 18:12:32