为我的 Rails 应用程序实现观察者模式

2024-02-26

我目前正在使用 Rails 3.0.7 和 ruby​​ 1.9.2 并制作一个 Rails 应用程序,其中包含从数据库加载的视频,同时由 FlowPlayer 渲染。以及基于视频的一组幻灯片。现在,我想将幻灯片与视频同步。对于时间安排,我要求用户输入每张幻灯片的时间安排。所以,我想知道我是否可以通过将某种中心时间作为主题并将视频和幻灯片作为观察者来使用观察者模式?

虽然,在浏览了网上的许多教程后,这个概念似乎是正确的,但我无法继续或获得对其编码的想法。

任何帮助将不胜感激。


基本上,你有两种选择:

使用 ActiveRecord 的回调(before_save、after_save 等)或创建观察者

# app/observers/some_model_observer.rb
class SomeModelObserver < ActiveRecord::Observer
  observe :your_model # the model you're observing

  def after_create(record)
  end

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

为我的 Rails 应用程序实现观察者模式 的相关文章

  • 在rails中,如何在要求升级帐户之前限制用户在数据库中保存的帖子数量

    我添加了一种控制非订阅用户和订阅用户的小方法 基本上我的想法是所有使用 Devise 注册的用户都会获得一个帐户 但是 我的模型或根据找到的用户 ID 在数据库中存储的用户可以拥有的帖子数量应该是 25 个帖子 我猜下面的方法会起作用 Mo
  • 迭代带有小胡子的数组

    如何获取迭代中当前元素的引用 my array p what goes here p my array 我希望我只是忽略了显而易见的事情 根据规范的变更日志 https github com mustache spec blob maste
  • 将实例变量传递到表单中 - Rails

    由于我对 Rails 以及如何跨模型使用变量的了解很少 这可能是一个错误 因此如果需要更多代码来回答它或者我的术语不正确 请告诉我 我很乐意更新问题 我有一个帖子供稿 我希望用户能够 喜欢 这些帖子 虽然以下代码允许 Likes 在单个帖子
  • Ruby/Rails - 如何创建类并从控制器访问它

    我一直在尝试使用一些不同的 gem 在 Rails 3 中显示谷歌地图 但遇到了一些问题 幸运的是我发现了这个https github com YouthTree bhm google maps https github com Youth
  • 比较 ruby​​ 中的两个字符串[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我刚刚开始学习 ruby 这可能很容
  • 以 Rails 形式处理 MongoMapper EmbeddedDocument

    首先 我对一般编程和 Rails 都是新手 我选择 Rails 是因为它看起来是一种很容易上手的语言 对于我的项目 我将 MongoMapper 与 Rails 结合使用 我正在尝试以与文档相同的形式处理嵌入文档 我有以下模型 class
  • 不理解 Ruby ljust/rjust/center 方法

    我正在学习嵌套 我的任务是使每条新行都以缩进开头 这是我的代码 但它不起作用 nestingDepth 0 def logger description block puts Beginning description rjust nest
  • Ruby on Rails:有关 validates_presence_of 的问题

    我的基于 ActiveRecord 的模型中有一个关系 如下所示 belongs to foo 我的模型应该始终在其中定义 foo 才能有效 我的问题是 当使用 validates presence 时 使用哪一个是合适的 validate
  • Capistrano 3 部署无法连接到 GitHub - 权限被拒绝(公钥)

    我使用 Capistrano v3 和 capistrano symfony gem 设置了以下部署脚本 我正在使用 Ubuntu 14 4 部署到 AWS EC2 实例 我正在连接从 AWS 下载的 pem 文件 我的deploy rb中
  • 用于验证网络路径的正则表达式 PHP、jQuery、JavaScript、Ruby

    尝试找出用于验证网络路径的正则表达式 即 comp xyz or comp or comp x y z storage或者所有部分都更长的东西 但希望能够传达其要点 我目前拥有的是一个简单的输入字段 用户可以通过它传递信息 事情是我不希望他
  • 在 Ruby 中,围绕子方法执行块的最佳方法是什么?

    我有一个父类 class Base def my method block method do EXECUTE WHATEVER S IN THE CHILD VERSION OF my method HOW TO DO end end d
  • 捆绑安装到开发

    由于某种原因 当我跑步时bundle install它安装到生产中 Your bundle is complete It was installed into RAILS ENV production Arrrghh 我如何切换回开发 No
  • 从 ruby​​ 脚本运行另一个 ruby​​ 脚本

    在 ruby 中 是否可以指定使用与运行原始脚本相同的 ruby 解释器来调用另一个 ruby 脚本 例如 如果 a rb 运行 b rb 几次 是否可以替换 system ruby b rb foo bar 与类似的东西 run ruby
  • Nokogiri 相当于 jQuery Closest() 方法,用于在树中查找第一个匹配的祖先

    jQuery 有一个可爱的方法 虽然命名有些错误 称为最接近 http api jquery com closest 它会沿着 DOM 树向上寻找匹配的元素 例如 如果我有这样的 HTML table src foo tr td Yay t
  • 获取特定时区一天开始时的时间对象

    如何获取代表给定时区特定日期的一天开始时间的 ruby Time 对象 date Date today date to time in time zone America New York beginning of day 目前输出 gt
  • 如何检查用户电子邮件的唯一性并将结果传递给 jQuery?

    我有这个问题 我正在控制器中检查用户电子邮件并发送 json 成功响应 如果已获取 并添加输入的 css 样式 我还需要阻止提交并添加一些消息 这是我的检查电子邮件操作 使用本文 http paydrotalks com posts 45
  • 从标签中提取 HTML5 数据属性

    我想从标签中提取所有 HTML5 数据属性 就像这个 jQuery 插件 http www orangesoda net jquery dataset html 例如 给定 span class highlight Joe Bloggs s
  • mail_form gem 与 sidekiq 工作者

    怎么做邮件表格gem 与 sidekiq 工作人员一起工作吗 https github com plataformatec mail form https github com plataformatec mail form 我可能做错了什
  • 导轨中的多个 DB 连接

    我正在尝试在 ROR 应用程序中连接多个数据库 我的 database yml 如下所示 在你的database yml文件中 发展 adapter mysql username root password database example
  • 如何创建下载链接

    创建下载链接的最佳方法是什么 还有比下面更好的方法吗 我正在考虑使用link to Download controller gt action gt id gt 视图中 Adding match documents download id

随机推荐

  • Redirect 和 RewriteRule 一起使用时的 .htaccess 重定向循环

    我正在 HTACCESS 文件中尝试以下操作 我想要 301 重定向 gt http www domain com somepage php page foo http www domain com somepage php page fo
  • Google App脚本更新另一张工作表中的单元格值

    我对这个有点卡住了 我试图在更新另一个电子表格的第一列后找到相应的行并更新另一个谷歌电子表格中的最后一列 当用户在电子表格 X 的 ColA 中选择 重新进货 时 我需要在另一张工作表 Y 上的 ColB 中查找 ID 值 然后我需要访问电
  • 如何获取 websocket 端点内的 cookie 值

    我在我的应用程序中使用基于 JavaEE 7 的 Websocket API 我需要访问 websocket 端点内 cookie 中设置的值 Annotated one ServerEndpoint websocket 我该怎么做呢 on
  • Android:如何制作默认拨号器应用程序?

    今天我的应用遭到 Google 拒绝面对面通话 https play google com store apps details id com gazman beep 在按照策略要求请求相关权限之前 您的应用程序似乎不会提示用户成为默认处理
  • 找到最小值/谷点并获取 R 中谷点开始和谷点结束的索引

    我对统计和 R 有点陌生 我需要找到峰值和谷值以及峰值 谷值开始和结束的索引 对于 Maxima peak 我得到了 findPeaks 函数 它可以帮助我满足峰值要求 但是我无法找到任何软件包来查找适合我的要求的谷点 以下是用于查找峰值的
  • 加载tensorflow模型而不导入tensorflow

    是否可以训练张量流模型 然后将其导出为无需张量流即可访问的模型 我想将一些机器学习应用到一个学校项目中 其中代码在在线门户上提交 但它没有安装张量流 只有标准库 我可以上传其他文件 但任何 TensorFlow 文件都需要 TensorFl
  • 什么是网络线程?

    由于一些自身引起的问题 我的 iPhone 应用程序崩溃并收到以下错误 Tried to obtain the web lock from a thread other than the main thread or the web thr
  • GraphQL 查询从 GitHub 存储库获取文件信息

    我想使用 GitHub 存储库来存放我的 Gatsby 网站中的帖子 现在我正在使用两个查询 首先是获取文件的名称 viewer repository name repository name object expression maste
  • perl xs 模块编写 - 使用同一 xs 文件中的另一个函数

    我是 XS 的初学者 花了一些时间在网上寻找这个答案 但没有运气 问题是 XS 更改了函数的名称 当它进行编译时 我会得到一个未定义的引用错误 例如 考虑下面的 XS 代码 size t matrixIndex colIndex rowIn
  • 如何在 macOS 中检查应用程序权限 | Python

    我是 Mac 新用户 我正在做一个Python截屏的应用程序 它完美地工作在Linux and Windows 当我打开我的应用程序时 在Mac 我注意到我必须获得许可System Preferences gt Security Priva
  • JavaScript 函数和新函数的区别

    下面的 JavaScript 代码让我很困惑 谁能帮我理解一下 为什么 PersonY 没有原型属性 PersonX function PersonY new function alert PersonX prototype alert P
  • 为什么 Django REST Framework HyperlinkedModelSerializer 无法形成 URL?

    DRF 新手 只要我不在字段中包含 url 一切都会正常 这是我所得到的 序列化器 class TaskSerializer serializers HyperlinkedModelSerializer class Meta model T
  • 项目应用程序未安装

    我正在打开一个显然是在 Visual Studio 2003 上构建的解决方案 不确定 我对此一无所知 并尝试迁移到 2010 当尝试迁移时 我收到消息 未安装项目 的应用程序确保已安装项目类型 csproj 的应用程序 如果我打开解决方案
  • 如何在 C# 中从另一个应用程序启动一个应用程序?

    我有两个桌面应用程序 关闭第一个应用程序后 第一个应用程序将启动第二个应用程序 完成第一次申请后如何开始第二次申请 我的第一个应用程序创建了一个单独的桌面 Use the 工艺类 http msdn microsoft com en us
  • 将 ASP.NET MVC 3 Web 角色添加到 Windows Azure 项目时出现冲突版本错误

    安装 Windows Azure Tools 1 4 后创建新项目时出现以下错误 检测到 ASP NET 网页版本冲突 指定版本为 1 0 0 0 但 bin 中的版本为 2 0 0 0 要继续 请从应用程序的 bin 目录中删除文件或删除
  • 如何在 Python 中使用 Selenium 运行无头 Firefox?

    我正在使用 python selenium 和 firefox 运行此代码 但仍然得到 head 版本的 firefox binary FirefoxBinary C Program Files x86 Mozilla Firefox fi
  • 如何使用axios下载文件

    我使用 axios 来处理基本的 http 请求 例如 GET 和 POST 并且效果很好 现在我也需要能够下载 Excel 文件 这可以用 axios 实现吗 如果是这样 有人有一些示例代码吗 如果没有 我还可以在 React 应用程序中
  • 用于 eclipse 使用的 Clearcase 插件

    我是 Clearcase 和使用版本控制系统的软件开发的新手 我目前正在使用clearcase进行版本管理 我使用eclipse IDE进行软件开发 我从 sourceforge net 网站通过互联网安装了 eclipse 的clearc
  • 如何从命令行将环境变量传递给 Codeception YML 文件?

    我总是在 Codeception YML 文件中看到这种事情 modules enabled PhpBrowser url URL 如何从命令行将 URL 传递给 Codeception 或者任何其他方式 它记录在https codecep
  • 为我的 Rails 应用程序实现观察者模式

    我目前正在使用 Rails 3 0 7 和 ruby 1 9 2 并制作一个 Rails 应用程序 其中包含从数据库加载的视频 同时由 FlowPlayer 渲染 以及基于视频的一组幻灯片 现在 我想将幻灯片与视频同步 对于时间安排 我要求