加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails项目中的Web工作者

发布时间:2020-12-17 03:15:52 所属栏目:百科 来源:网络整理
导读:我尝试使用网络工作者能够同时运行几个 JavaScript代码.为了启动worker,我将以下内容放入我的javascript代码部分: var worker = new Worker("my_task.js");worker.onmessage = function(e) { console.log('Worker said: ',e.data);};worker.postMessage("te
我尝试使用网络工作者能够同时运行几个 JavaScript代码.为了启动worker,我将以下内容放入我的javascript代码部分:

var worker = new Worker("my_task.js");
worker.onmessage = function(e) {
    console.log('Worker said: ',e.data);
};
worker.postMessage("test");

my_task.js与保存上述代码的文件相同.这就是my_task.js的样子:

self.addEventListener('message',function(e) {
  self.postMessage(e.data);
},false);

但Ruby on Rails(版本3.2.1)似乎存在问题:

Started GET "/users/my_task.js" for 127.0.0.1 at ...
...
...
ActiveRecord::RecordNotFound (Couldn't find User with id=my_task)

正如您所见,Rails尝试在脚本启动时发送http get请求.
我怎么解决这个问题?有没有更好的方法在Rails项目中使用Web worker?

谢谢

解决方法

>将my_task.js放在/ public / javascripts中
>在创建worker的javascript代码中,使用以下ERB:var worker = new Worker(“<%= javascript_path”my_task.js“%>”);
>将.erb添加到找到上述javascript代码的任何文件的扩展名.所以如果它是mypage.js,它将变为mypage.js.erb.

以上适用于Rails 4.2.0,ruby 2.0.0p598

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读