使用 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 授权命名空间和嵌套控制器 的相关文章

  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • 为什么 RackMultipart* 文件保留在我的 Rails /tmp 目录中?

    我正在使用 Paperclip 2 3 来处理在 Ubuntu 上运行的 Rails 3 0 3 应用程序上的图像上传 Paperclip 正在按广告处理上传 但在应用程序的 tmp 文件夹中创建的 RackMultipart 文件仍然存在
  • “rmagick”gem 安装问题

    我在尝试在 centos 上安装 rmagick gem 时遇到问题 以下是我得到的输出 谁能帮我识别一下我缺少什么包裹 我已经安装了所有提到的另一个堆栈溢出线程 RMagick安装错误 https stackoverflow com qu
  • 在 Rails 3 中渲染 Markdown 文本

    我想将 markdown 转换为 html 在我看来我有markdown some text variable 但我得到了错误undefined method markdown I added require BlueCoth 到envir
  • Nokogiri 保持 HTML 实体不变

    我希望 Nokogiri 保持 HTML 实体不变 但它似乎正在将实体转换为实际的符号 例如 Nokogiri HTML fragment p reg p to s 结果是 p p 似乎没有什么可以将原始 HTML 返回给我 inner h
  • Rails 4 应用程序...在开发环境中,除非刷新页面,否则 javascript 不会触发

    所以我的第一个rails4应用程序遇到了一个奇怪的问题 除非我重新加载页面 否则我的页面javascript不会触发 对于我的 asset pipeline JS 和 content for JS 来说都是如此 在我的 assets jav
  • Windows 7 x64 上的 Ruby on Rails SQLite 问题

    当我尝试做的时候db create使用 Windows 7 x64 在具有此数据库配置的 sqlite 数据库上 development adapter sqlite3 database db development sqlite3 tim
  • Ruby require 'file' 不起作用,但 require './file' 可以。为什么?

    我有一个充满 ruby 文件的文件夹 当我尝试使用位于同一目录中的另一个文件中的一个文件时require file 我得到一个LoadError但是当我使用require file 一切正常 有人可以向我解释为什么会发生这种情况吗 如果有什
  • 我无法让 ruby​​ 开发工具包适用于 Windows XP

    所以 我一生都无法让它正常工作 我的最终目标是安装 dbd odbc gem 并使其正常工作 从我读过的多篇文章来看 我需要安装ODBC 绑定 http www ch werner de rubyodbc 对于 ruby 以及 dbd od
  • 在 Ruby 中创建一个空文件:相当于“touch”?

    创建一个的最佳方式是什么emptyRuby 中的文件 类似于 Unix 命令的东西 touch https en wikipedia org wiki Touch 28Unix 29 touch file txt FileUtils tou
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 在端口80启动webrick(mysql2 gem问题)

    我正在尝试让我的 webrick 在端口 80 上提供服务 我尝试过 rails server p 80 但访问被拒绝 后来我明白使用端口1 1024需要root权限 所以我尝试了这个 sudo rails server p 80 但是 现
  • 服务器上的 Rails 会话

    我想让一些 Rails 应用程序在不同的服务器上共享同一个会话 我可以在同一服务器内完成此操作 但不知道是否可以在不同服务器上共享 有人已经做过或者知道怎么做吗 Thanks Use the 数据库会话存储 https github com
  • 如何在 Ruby 2.2 上删除不安全密码来强化 Rails+webrick+https

    更新 首先 我的测试代码没有充分显示 ruby 2 4 看到 SSLCiphers 选项 而 ruby 2 2 没有 我编辑了下面的示例代码以清楚地表明这一点 更新 由于我的问题未能得到社区的任何帮助 我继续前进 两天后找到了解决方案 我将
  • 我想要一个默认选择空白值的日期选择框

    我用了以下date select助手 但没有一个显示默认情况下选择空白值的日期选择框 通过以下所有代码 我得到了选择框 但选择了当前日期 我在 Rails 2 3 2 上
  • 使用哈希参数进行 DRY Ruby 初始化

    我发现自己经常在构造函数中使用哈希参数 尤其是在为配置或最终用户将接触到的其他 API 编写 DSL 时 我最终做的是类似以下的事情 class Example PROPERTIES name age PROPERTIES each p a
  • 超类与类SpecificationPolicy不匹配

    我得到了一个superclass mismatch for class SpecificationPolicy尝试安装或升级某些brew 软件包时出错 例如 更新安装 supabase CLI 时 brew install supabase
  • Watir Webdriver 加载 Chrome 扩展

    我正在尝试使用 Watir 加载 chrome 扩展 但遇到了问题 我发现这个相关问题 能够启动带有 watir webdriver 加载扩展的 chrome https stackoverflow com questions 125867
  • 将查询字符串参数作为表单发布的一部分发送

    有没有办法捕获查询字符串并将其作为表单帖子的一部分发送 我正在使用 Rails 2 3 5 我的用户所在的页面有多个查询字符串参数 在此页面上 他们将提交一份表格 在接收帖子的操作中 我想知道这些查询字符串参数是什么 显然 它们不是作为邮件
  • Ruby 中的 url_encode

    I read 的文档url encode http rdoc info stdlib erb 1 9 3 ERB Util 3Aurl encode 是否有一个表可以准确地告诉我哪个字符被编码为什么 使用url encode ERB s u

随机推荐

  • 将 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