问题标签 [opalrb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
60 浏览

javascript - 如何将文本写入特定位置 [Opal]

我需要用简单的数据编写静态网页。在表单中我有来自用户的数据并在标记 <div id="prog">我的输出中如何使用 Opal 将字符串写入特定位置?

0 投票
1 回答
23 浏览

ruby - 在 Volt 项目中放置前端“require”文件的位置

我正在编写一个应用程序,它需要我在控制器之外定义一个 Ruby 类,然后在控制器中实例化它。

我把它放进去lib/my_file.rb,也initializers/client/my_file.rb得到了同样的结果:

Sprockets::FileNotFound at / couldn't find file 'client/my_file' with type 'application/javascript'

0 投票
1 回答
95 浏览

ruby - 在 sinatra 上将 opalrb 与 sprocket 集成

我想将 Opal 集成到我的下一个项目中,并决定从 sinatra-asset-pack 转移到 sprockets,但是我找不到任何关于如何将 opal 集成到 sprockets 而不仅仅是单独设置 sprockets 和 opal 的信息。

如何设置 sprockets 并将 Opal.rb 与它集成?

请记住,我不会将它作为机架文件运行,这是由于我们的环境造成的,所以它不可行,而是我将我的应用程序捆绑为 gem 并通过可执行文件运行它。

或者,如果这方面的一些资源已经存在而我只是无法找到它,那么也许只是指出我这样做的正确方向,那也很棒。

0 投票
1 回答
169 浏览

ruby - 蛋白石遇到问题并尝试渲染一个简单的 react.rb 模板

我正在尝试将 react.rb gem 与蛋白石一起使用,但是我遇到了麻烦。

下面是一个简单的 hello world 组件,没什么复杂的。

这样做:

得到了我的期望,这个:

问题是当我尝试将模板渲染到 dom 时。

这:

只是给我:

所以我认为这是因为document.body尚不存在,但是以下都不能访问窗口工作(或文档):

似乎没有适用于 JS 等效项的蛋白石命令文档,而且我找不到任何示例工作。

我快要拔头发了,我该怎么办?

编辑:

执行以下操作实际上有效:

我没有使用 jquery,所以我必须执行以下操作才能获得document.ready

但它是 suuuuper hacky。

0 投票
1 回答
77 浏览

jquery - 试图让 react.rb 模板使用 opal-jquery 在蛋白石中呈现,现在可以正常工作了

我承认这与我之前的问题相似,但并不完全相同。由于我最终使用了 ajax 请求,因此我决定将 opal-jquery 添加到我的堆栈中(除非您知道更简单的方法)并切换到使用Document.ready?它提供的功能。

我的函数现在看起来像这样:

我这样称呼它:

问题是,在此之前它可以正常工作,而现在,它不是,我遇到了一个Uncaught NoMethodError: undefined method '[]' for nil错误,它正在工作,然后它突然开始这样做。

错误是因为某种原因 Element.find[mount_point]正在返回nil,我不知道为什么。它应该在加载 dom 后运行,因此挂载点'#view_port'应该存在;正如您在此处看到的,它肯定存在于 dom 中:

我什至试过把它包起来,window.addEventListener("load", function () {}但没有效果。

为什么现在不起作用?我错过了什么?

0 投票
1 回答
152 浏览

ruby - opal-jquery ajax 请求发送格式错误的 json 字符串

我正在使用 opal-jquery 向我的后端发送 ajax 请求,但是当我尝试在后端访问它时,json 有效负载格式错误。

当我puts @params.to_s在后端执行时,它显示为:

因此,要获取登录详细信息,我必须这样做:

我的前端(蛋白石)提交请求如下所示:

我绝对知道细节的格式正确,所以这不是问题。

我想最后归结为是否

  1. opal-jquery 错误地发送 post 请求

  2. sinatra 不正确地解析请求。

我不确定它是哪一个,但我倾向于相信它是前者,因为在我改用 react.rb 作为前端之前它运行良好。

0 投票
1 回答
45 浏览

ruby - 无法在 Opal 的“self.included”挂钩中的基础对象上创建变量

正如问题标题所说,我在模块中有一个包含的钩子:

我的 API 要求对象上的某些变量存在,但没有一个变量被创建。

我试过了:

  1. base.variable_name = []
  2. %x|#{base}.variable_name = []|
  3. base.instance_variable_set(:@variable_name,[])
  4. base.instance_exec{@variable_name = []}
  5. 1-2 在内部base.instance_exec但使用self而不是base

然而它们都不起作用,控制台只是抱怨variable_name=不存在。

我勒个去?

如何让变量存在于included钩子内的基础对象上?

0 投票
1 回答
14 浏览

ruby - Volt 0.9.5pre4 中的硒超时

我试着跑

新创建的 Volt 应用程序上

并得到这个错误:

无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1:7055)

长时间等待后,该应用程序挂起并引发该错误。

Volt Framework 是否没有将 selenium webdriver 锁定到正确的版本?

0 投票
3 回答
53 浏览

ruby - 当点击链接到具有相同操作 (VoltRb) 的页面时触发操作

http://localhost:3000/books,我有一个索引页,其中有一个书籍列表。

在此处输入图像描述

当您单击其中一个链接时,它所绑定的操作book会被触发:

在此处输入图像描述

但是,当您单击其中一个书页中的链接之一时,book不会触发该操作:

在此处输入图像描述

请注意,从索引页面和书籍页面单击链接时,URL 确实会发生变化,但是我遇到的问题是,book当您单击另一本书的书籍页面的链接时,该 URL 不会被激活页。我该如何解决这样的情况?

仅供参考,这是一个可以重现此问题的存储库。

0 投票
0 回答
17 浏览

ruby - 新的 Volt 应用程序中的 PhantomJS 加载问题

我试着跑

在新创建的 Volt 应用程序上并遇到以下错误:

这是一个非常默认的规范:

请记住,这是默认的规范设置。我在这里错过了什么吗?