如何获取模型观察者中的current_user?

2023-12-09

给定以下模型:

Room (id, title)
RoomMembers (id, room_id)
RoomFeed, also an observer

当房间标题更新时,我想创建一个 RoomFeed 项目,显示进行更新的用户是谁。

@room.update_attributes(:title => "This is my new title")

问题出在我的 RoomFeed 观察者身上:

def after_update(record)
   # record is the Room object
end

我无法获取刚刚进行更新的人的 user.id。我该如何去做呢?有没有更好的方法来进行更新以便我获得 current_user?


我认为您正在寻找的是观察者内的 room.updated_by 。如果您不想保留updated_by,只需将其声明为attr_accessor即可。在推送更新之前,请确保将 current_user 分配给 Updated_by,可能来自您的控制器。

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

如何获取模型观察者中的current_user? 的相关文章

随机推荐

  • 抽象方法的目的是什么?

    abstract public class car abstract void drive 正如上面的代码片段所示 Java 中抽象方法的具体用途是什么 据我所知 根据定义 他们不允许拥有身体 通过声明抽象方法 您并没有提供实现 而是强制扩
  • 使用 Pandas 将重复项提取到新数据框中

    我有一个包含很多列的大型数据框 其中一列应该是唯一 ID 另一列是年份 不幸的是 唯一 ID 列中有重复项 我知道如何生成所有重复项的列表 但我真正想做的是将它们提取出来 以便仅保留第一个条目 按年份 例如 数据框当前看起来像这样 带有一堆
  • 从 Fortran 运行时 METIS 段错误

    我正在尝试使用METIS用于网格划分的库 作为我为有限元计算编写的 Fortran 程序的一部分 METIS 是用 C 编写的 但它应该可以与 Fortran 90 一起正常工作 但我不断遇到段错误 一个潜在的问题是 我向一些参数提供了空指
  • 如何在单声道下强制应用程序的单实例?

    因此 我能够在 Windows 上强制执行应用程序的单个实例 如下所示 STAThread class method Program Main args array of string begin var mutex new Mutex t
  • 如何从命令行使用特定修订版号“恢复到此修订版”?

    我目前正在制作一个脚本 在其中我已经熟悉了Tortoise SVN 及其相应的命令行功能 我正确更新了脚本 以通过一系列测试找到正确构建的 修订版 在脚本记录该变量 具体的版本号 后 我更新到 HEAD 修订版 这样我就可以在遇到问题的过程
  • Dropwizard 配置文件安全性

    配置文件 yml 用于使用 Dropwizard 0 9 2 最新版本 开发的 REST API api 所需的大部分凭据 例如数据库密码密钥等 都存储在配置文件中 我们已经根据参考文献中提到的项目实现了大部分内容 位于dropwizard
  • Cocos2d如何切换场景

    cocos2d中如何切换场景 我有我的主类 HellowWorldLayer h m 但我似乎无法正确切换场景 我努力了 CCDirector sharedDirector replaceScene Race node And CCDire
  • Javascript:数组加数字[重复]

    这个问题在这里已经有答案了 JavaScript 中的某些操作会返回意外结果 有一个是极其奇怪的 1 1 任何人都可以解释为什么它会这样工作吗 由于 运算符而转换为空字符串 所以 1 gt 1 数字也转换为字符串
  • UnreachableBrowserException 尝试使用 IEDriver 在 Selenium Webdriver 中启动

    我有一套在 Firefox 和 Chrome 中运行得非常出色的自动化功能 并且我还想启动 IEDriver 的实例 我已经按照以下方式设置了 IEDriverSelenium 的 Google 代码 wiki 具有正确的路径 如果我更改路
  • 具有模糊和斜角的 GLPaint 画笔效果

    我正在开发一个基于 GLPaint 代码的绘图应用程序 有人知道如何获得这样的效果吗 我尝试过使用不同的画笔宽度和高度值 但它仍然保持不变 我需要考虑 glBlendFunc 吗 或者彻底改变画笔的宽度和高度是否可以实现 Thanks in
  • C++ 中是否有生产就绪的无锁队列或哈希实现 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我一直在谷歌上搜索 C 中的无锁队列 我找到了一些代码和一些试验 但我无法编译任何东西 无锁哈希也将受到欢迎 概括 到目前为止我还没有得到肯定的答案
  • 如何在命令行中读取浮点数?

    如何在命令行中读取浮点数或整数 test py 11 22 4 11 7 99 9 69 我试过了 numbersList float sys argv 1 len sys argv import sys args map float sy
  • 正则表达式匹配 C# 中的所有大写和下划线

    我需要从字符串中查找仅包含大写字母和下划线的所有单词 string str ABCD EFG LMNO hello world PQR ST UVW US Apple PQR ZYZ PQR LMN ZYZ string pattern A
  • 10.6中如何在Interface Builder中创建NSImageCell的NSMatrix

    如何在 Interface Builder 3 2 1 即为 Snow Leopard 制作的 中创建 NSImageCell 单元格 通常位于 NSImageView 中 的矩阵 NSMatrix 对象 在 过去 您可以拖动 NSImag
  • Spring @Transactional 属性是否适用于私有方法?

    如果我有一个 事务性Spring bean中的私有方法上的注释 注释有什么作用吗 If the Transactional注释位于公共方法上 它可以工作并打开事务 public class Bean public void doStuff
  • 如何绘制堆叠柱类型的 Google 图表

    我有这个表结构 Name Grade Count X VeryGood 10 X Excellent 2 X Failed 0 Y VeryGood 7 Y Excellent 1 Y Failed 2 我想在堆积谷歌图表中显示这些数据 类
  • 使用宏将数据文件导入新选项卡时,如何提示用户选择文件?

    我有一个宏 当前正在创建一个新工作表 并将另一个 Excel 文件导入到这个新工作表中 然后 该工作表中的数据将被拉入工作簿的其他区域 正在导入的文件将始终具有不同的文件名 如何调整以下代码以提示用户选择文件 目录不会改变 子导入需求 工作
  • 使用 pygame 进行 blit opencv 相机捕获会抛出 TypeError:参数 1 必须是 pygame.Surface,而不是 cv2.VideoCapture

    我是 pygame 的新手 以前从未使用过它 想知道如何使用 pygame 和 opencv 将网络摄像头传输或显示到表面 但我不断收到消息 Traceback most recent call last File
  • 在 Android 中裁剪图像并调整其大小

    我正在从磁盘读取图像并将其显示在行中ListView 图像文件比需要在内部显示的文件大ImageView的行 由于我需要缓存bitmaps为了更快的访问 我希望它们只和 RAM 一样大ImageView小号 85x85 倾角 现在我正在阅读
  • 如何获取模型观察者中的current_user?

    给定以下模型 Room id title RoomMembers id room id RoomFeed also an observer 当房间标题更新时 我想创建一个 RoomFeed 项目 显示进行更新的用户是谁 room updat