如何检查 declarative_authorization 文件中的 own_to 模型属性?

发布于 2024-09-10 18:02:31 字数 577 浏览 5 评论 0原文

我想要检查属于_to 模型的权限。一个用户应该只创建一个博客,如果他是项目的所有者

模型代码

User
  has_many :blogposts
  has_many :projects
end

Project
  has_one :blog
  belongs_to :user
end

Blog
  has_many :blogposts
  belongs_to :project
end

Blogpost
  belongs_to :user
  belongs_to :blog
end

现在相关的授权部分

User  has_permission_on [:blog], :to => [:create, :new, edit, :update] do
 if_attribute :project_user_id => is {user.id}
      end

if_attribute是问题,我如何检查相关模型? (上面的 if_attribute 代码行不起作用,因为博客属于项目并且 user_id 在项目模型中)

提前致谢:)

I want the check a belongs_to model for permission. A user should only create a blog, if he is the owner of the project

Model Code

User
  has_many :blogposts
  has_many :projects
end

Project
  has_one :blog
  belongs_to :user
end

Blog
  has_many :blogposts
  belongs_to :project
end

Blogpost
  belongs_to :user
  belongs_to :blog
end

And now the relevant Authorization part

User  has_permission_on [:blog], :to => [:create, :new, edit, :update] do
 if_attribute :project_user_id => is {user.id}
      end

The if_attribute is the problem, how do I check the related model? (The above if_attribute codeline doesn't work because blog belongs_to project and the user_id is in the project_model)

Thanks in advance :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

走过海棠暮 2024-09-17 18:02:31

感谢创作者,

if_attribute :project => {:user => is {user}} 

Thanks to the creator,

if_attribute :project => {:user => is {user}} 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文