- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有后台作业的 Controller 来启动 ActionCable 订阅:
def result
LinkBroadcastJob.perform_later(links)
end
它执行此操作来流式传输链接:
def perform(links)
links.each do |link|
ActionCable.server.broadcast "link_channel", html: render_link(link)
end
end
我在布局中有一个带有 div id="here"的 View 。
在我的文件 javascript/channes/link.coffee.js 中,它应该将所有链接附加到 div。
App.link = App.cable.subscriptions.create { channel: "LinkChannel" },
received: (data) ->
$("#here").append(data.html)
此代码的问题是订阅在页面完全加载之前开始 - 因此第一个链接不会显示并且丢失。
我可以通过延迟作业和一些设定时间(5秒)来解决它,但这不是最好的体验,我不知道用户加载整个页面需要多快。我也尝试在创建订阅之前使用 $(document).load 进行操作,但没有成功。
加载 div 标签后执行订阅的最佳方式是什么?
最佳答案
您应该将客户端代码放入 turbolinks:load
中:
jQuery(document).on 'turbolinks:load', ->
App.link = App.cable.subscriptions.create { channel: "LinkChannel" },
received: (data) ->
$("#here").append(data.html)
关于javascript - 如何在页面加载后订阅 channel - ActionCable、DelayedJob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38598312/
有时我在 delayed_job worker 中遇到错误NameError:未初始化常量 Notifiers::MessageNotifierJob完整回溯 https://gist.github.
我有一个 Multi-Tenancy Rails 应用程序,它在许多模型上都有一个 tenant_id 列。 属于特定租户的每个模型都有一个基于租户类上的类变量的默认范围: default_scope
我有一个带有后台作业的 Controller 来启动 ActionCable 订阅: def result LinkBroadcastJob.perform_later(links)
在 Ruby on Rails 应用程序中,我使用 Paperclip 处理附件。下载(从 URL)和附件是在后台作业(使用 DelayedJob)中完成的。 每个作业可能会处理许多要下载的文件,这会
我的应用程序使用 DelayedJob,但速度很慢,所以我决定切换到 Sidekiq。 到目前为止,它还没有与 Sidekiq 一起进行测试或开发。 (当然,我还没有尝试使用 Sidekiq 进行生产
我们使用 DelayedJob 来运行一些长时间运行的进程,并希望使用 Cucumber/Webrat 进行测试。 目前,我们在 Ruby 线程中调用 Delayed::Job.work_off 以在
我曾经有延迟的工作,但因为我已经从我的 Gemfile 中删除了它。 我今天包含了 newrelic_rpm gem 并运行了 bundle install。从那时起,我就无法启动我的服务器,并且得到
什么是初始化 rails 应用程序状态的正确方法,以便 DelayedJob worker(以及 rails 应用程序)受到该初始化的影响?我在设置应用程序配置时遇到问题在我的 rails 初始化程序
我无法让我的 dynos 运行多个延迟的工作进程。 我的 Procfile 看起来像这样: worker: bundle exec script/delayed_job -n 3 start 和我的
我已经安装了 Rails 5.0.0.rc1 以及 DelayedJob gem 。我有一些代码在以前的 Rails 应用程序 (Rails4.2) 中运行得非常好,但由于某种原因,它现在在 hero
我一直很高兴地使用 DelayedJob 习惯用法: foo.send_later(:bar) 这会调用 DelayedJob 进程中对象 foo 的方法 bar。 我一直在使用 DaemonSpaw
我正在为 Capistrano 部署的 Rails 应用程序使用 Bundler。我正在尝试添加 DelayedJob gem,但是在我执行部署后远程服务器中缺少 bin/delayed_job 文件
我正在将 Rails 应用程序从 3.2 升级到 4.x。我现在通过我的测试得到以下乱七八糟的东西。 Delayed::DeserializationError: Job failed to l
我是一名优秀的程序员,十分优秀!