作者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/cn.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