我的策略创建,更新&摧毁“喜欢”要求用户先登录权威人士授权当前用户
我已经措辞政策如下:
class LikePolicy < ApplicationPolicy
def create?
user && record.user_id == user.id
end
def update?
create?
end
def destroy?
create?
end
end
我喜欢#创建控制器操作如下:
def create
@article = Article.find(params[:article_id])
@like = @article.likes.new(user_id: current_user.id, value: params[:value] == 1 : 1 ? -1)
authorize(@like)
@like.save
redirect_to @article
end
这个工程使用策略,以确认用户。然而,已登录是不合逻辑的代码将在前面的等,其中真正水流失败nt_user被引用。
这是如何授权包含user_id的记录的公认做法吗?
大反馈。 – Dercni