使用 CanCan 授权命名空间和嵌套控制器

2023-11-27

我在让 cancan 授权我的新路线设置时遇到了一些麻烦:

namespace :api do
namespace :v1 do
  resources :users do
    resources :user_songs
    resources :friendships
    resources :plays
    resources :likes
    resources :songs

我已关注此处发布的内容https://github.com/ryanb/cancan/wiki/Nested-Resources并通过将其放在上面来使用 Like 控制器进行测试:

class Api::V1::LikesController < Api::V1::BaseController

load_and_authorize_resource :user
load_and_authorize_resource :like, :through => :user

在ability.rb 中使用 can :access, :all 有效,但我尝试限制的其他任何内容都无效,例如:

can :access, :likes
can :access, Like
can :access, :users
can :access, User
can :access, [:"users/likes", :users_likes]

我不太确定这是否是由于命名空间路由造成的。任何指导将不胜感激!


找到了答案:毕竟是命名空间,它只需要一个

can :access, "api/v1/likes"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 CanCan 授权命名空间和嵌套控制器 的相关文章

  • 从 float 转换的 Ruby Time 对象不等于原始 Time 对象

    time Time now fvalue time to f return time Time at fvalue 有人可以解释为什么上面的表达式返回 false 吗 如何从 float 创建一个与原始时间变量匹配的新 Time 对象 Th
  • RailsAdmin 中具有 join_table 和 has_many :through 的模型的路由错误

    所以我有3个模型 category product category products 这是我的category rb attr accessible name has many category products do def with
  • URL 路由中的点与命名空间 Rails 3.1

    我有这个路线 rb root to gt posts index devise for users controllers gt omniauth callbacks gt users omniauth callbacks resource
  • ruby中如何将binary32转换为float

    我有一个以 IEEE 32 编码的 binary32 如何将 0x0040EDC2 转换为 118 625 我尝试了几种打包和解包选项 但没有成功 IEEE http en wikipedia org wiki Single precisi
  • RSpec 2 中使用 OR 相等

    下面这个例子的正确写法是什么 玩家的分数应等于 5 或 8 it should equal 5 or 8 do player score should 5 or 8 end Thanks Tim 5 or 8将始终产生结果 5 并且不会执行
  • Rails 递归地包含 javascripts 资源文件夹

    我了解如何将一个 JavaScript 文件添加到 Rails 资产管道中 只需添加 require filename 到 application js 但是如何在一个文件夹下包含多个 javascript 文件 vendor assets
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • 用于 S3 私有文件的 ActiveStorage

    到目前为止 我一直在使用 Paperclip 将一些文件上传到 S3 其中一些文件不是公开的 Paperclip 允许通过以下位将一些文件作为私有文件上传 has attached file image styles large 2000x
  • Rails 中的助手 - 构建 html 字符串时的最佳方法是什么?

    我通常这样写助手 def bloco vazio texto btn args titulo content tag h3 Vazio p content tag p texto content tag div titulo tag hr
  • 正常关闭 sidekiq 进程

    有谁知道如何找到 sidekiq 的 pidfile 来优雅地关闭它 跑步ps ax grep sidekiq然后运行sidekiqctl stop
  • 如何使用国家宝石

    我正在尝试使用国家宝石 https github com hexorx countries 但是在我捆绑安装这个 gem 后 有一些关于如何合并它的基本问题 我是否需要创建新的控制器 模型才能访问这些国家 地区 如何创建一个简单的选择下拉列
  • 在 Yosemite 上安装 Ruby 1.9.2 时出错

    我在 Yosemite 上使用 rvm 安装 ruby 1 9 2 时遇到错误 有人可以帮助我吗 我更新了自制程序和rvm 我正在与其他人合作处理这个项目 所以我无法升级 ruby 我在下面放置了我的输出的链接 提前致谢 Kanyons M
  • 自动加载常量时检测到循环依赖

    我将 Rails 从版本 3 1 2 运行良好 升级到 4 0 并遇到以下错误 circular dependency detected while autoloading constant Foo 我创建了一个类ProductFactor
  • <%=h ... %> 在 Rails 中意味着什么?

    I found here http api rubyonrails org classes ActionView Helpers RecordTagHelper html以下语法 什么是h means 它用于转义标签的输出以避免跨站点脚本
  • 如何使 Yard `@macro` 应用于多个文件

    如果我有在one file下列 module Something class Resource Defines a new property param String name the property name param Class t
  • 在生产环境中使用 Rails 设置 sunspot solr

    我尝试了各种链接 但我似乎找不到关于创建与生产中的 Rails 一起运行的 solr 实例的好资源 我知道您必须为生产设置 solr 服务器 我已经尝试使用 tomcat 设置 solr 但我似乎无法将其链接到 Rails 应用程序 有什么
  • 如何使用sunspot_rails gem 搜索相关文章

    我有一个迷你博客应用程序 我希望用户查看与他们在文章显示页面中阅读的内容相关的文章 没有 sunspot rails gem 我会做这样的事情 在我的模型中 def self related search query join AND fi
  • Gem 在 irb 中可用,但在 Rails 控制台中不可用

    我正在尝试在我的 Rails 项目中使用 RedCloth gem 当我使用irb我可以加载宝石 require rubygems require RedCloth 它工作正常 但是当我在 Rails 控制台中尝试相同的操作时 我收到一条错
  • 子域中的 Rails url 助手 - 删除子域

    我网站上的用户可以拥有子域 例如 他们的页面网址是 name example com 登录的用户可以查看更多用户信息 因此在用户的显示页面上 我有一个使用以下代码生成的链接 user url user subdomain gt false
  • 将记录批量插入到 Active Record 表中

    我发现我的Model create 当我一次添加大量记录时 语句需要很长时间才能运行 看着ActiveRecord 导入 https github com zdennis activerecord import wiki但它不适用于哈希数组

随机推荐

  • 将 double 转换为小数点后特定数字的科学记数法

    我想将双精度转换为科学计数法 如下所示 0 00752382528 gt 752383E 1 我可以用 ToString 或 Regex 来做到这一点吗 您可以使用标准格式字符串对于科学计数法 0 00752382528 ToString
  • SSL 证书链不同;如何验证?

    简洁版本 我看到 SSL 证书链根据我访问 https 服务器的方式而有所不同 这是怎么回事 在这种情况下我该如何验证证书 稍微长一点的版本 我正在尝试使用 libcurl 来验证 SSL 连接的证书 我连接到的服务器是 Amazon S3
  • 如何在Python中获取文件关闭事件

    在 windows 7 64 位机器上使用 python 2 7 如何获取文件关闭事件 当文件在文件打开器的新进程中打开时 例如记事本 写字板 每次在写字板的新进程中打开文件 当文件在文件打开器的选项卡中打开时 例如notepad 它在新选
  • 无法在 Heroku 上进行 pg_restore:“无法从输入文件读取:文件结尾”

    我正在尝试将本地 PostgreSQL 数据库复制到 Heroku 应用程序pg dump pg restore实用程序 按照 Heroku 的官方指南进行 https devcenter heroku com articles herok
  • 递归引用数据框

    有没有办法让数据框引用自身 我发现自己花了很多时间写类似的东西y Category1 is na y Category1 lt NULL这些内容很难阅读 而且感觉就像是大量缓慢的重复打字 我想知道是否有类似的内容 y Category1 i
  • SQL 嵌套替换

    我有一个复杂的嵌套替换 我用它来连接 MSSQL 中的两个表 select from A left outer join select from B on replace replace replace replace replace A
  • Numpy 源代码中的常量是在哪里定义的?

    我试图找到常量在 numpy 中存储的位置 一些方向会很好 里面定义了很多常量 numpy core include numpy npy math h 当前定义的是 从第 48 行开始 define NPY INFINITYF npy in
  • 如何从结构元素的嵌套数组创建 Spark DataFrame?

    我已将 JSON 文件读入 Spark 该文件具有以下结构 scala gt tweetBlob printSchema root related struct nullable true next struct nullable true
  • 在 ASP.NET Core 2 中获取用户 ID

    我正在尝试获取 ASP NET Core 2 1 MVC 项目中的用户 ID 但是 我只能收到电子邮件 我几乎肯定必须有一个 1 2 行的方法来获取它 在 ASP NET MVC 成员资格中 它只是 varloggingInUserId U
  • 使 JList 中的按钮可点击

    我不敢相信这行不通 我有一个 JList 我已将其渲染器设置如下 基本上RankingPanel是一个带有两个标签和一个按钮的 JPanel topAchieverList new JList topAchieverList setCell
  • 在 Python 中查找每一行的最大值

    如何在Python中找到每一行的最大值并将其存储在NumPy数组或Pandas DataFrame中并将其存储在NumPy数组中 即下面的输出 0 511474 0 488526 0 468783 0 531217 0 35111 0 64
  • java.io.FileNotFoundException:打开失败:EACCES(权限被拒绝)

    当我尝试将位图存储到存储中时出现此错误 File path new File Environment getExternalStoragePublicDirectory Environment DIRECTORY PICTURES pict
  • 如何让 tslint 监视特定文件夹中的更改?

    我正在使用 webpack 2 它会告诉我我的打字稿代码是否存在编译问题 但是 我还没有找到一种方法来通过它运行 tslint 并让它在 webpack 在开发服务器模式下运行时检测到的每个更改中运行 我尝试过tslint 加载程序工作 但
  • 在 JBoss EAP 7 中配置 Http 标头

    您知道是否有标准方法来配置 JBoss EAP 7 发送到客户端的 Http 标头 我主要感兴趣的是能够配置以下内容 X XSS 保护 X 框架选项 严格的运输安全 内容安全策略 X 内容类型选项 我在互联网上找到了这个链接 https b
  • 使用 CSS3 模糊滤镜时图像周围出现白色模糊?

    今天我想重新设计我的网站并以不同的方式处理它 我并没有专注于排版 而是添加了大图像和小文本 我简单地做了 html background url img background png no repeat center center fixe
  • iOS swift 将 mp3 转换为 aac

    我正在转换一个mp3 to m4a在 Swift 中 代码基于this 当我生成 PCM 文件时它起作用 当我将导出格式更改为 m4a 时 它会生成一个文件 但无法播放 为什么会腐败 这是到目前为止的代码 import AVFoundati
  • Node.js 在 Windows 上的表现是否很差,对于基本 I/O 肯定不会比 apache 慢

    问题 我得到的结果合理吗 有什么东西可以对减少每秒请求数产生如此大的影响吗 Edit 我的一个朋友刚刚在 Linux 上对相同的应用程序进行了基准测试 平均 r s 约为 7000 Edit 2 我检查了 Node exe 的 CPU 使用
  • Xcode 4 - 构建输出目录

    我在 Xcode4 beta 5 中设置 定位输出文件时遇到问题 它们被放置在某处 Library Developer ugly path 我什至无法在我的产品上选择 在查找器中显示 对于简单的 C 项目 Foundation 工具甚至 C
  • jQuery 文本框光标到文本末尾?

    我正在尝试使用 jQuery 在用户点击 enter 后基本上替换文本框中文本末尾的光标 我的 输入 部分正在工作 但我不知道 输入部分之后 如何 我可以让光标返回到文本框中输入的文本的末尾 即此刻 当用户按 Enter 键时 光标转到新行
  • 使用 CanCan 授权命名空间和嵌套控制器

    我在让 cancan 授权我的新路线设置时遇到了一些麻烦 namespace api do namespace v1 do resources users do resources user songs resources friendsh