问题标签 [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.
javascript - 如何将文本写入特定位置 [Opal]
我需要用简单的数据编写静态网页。在表单中我有来自用户的数据并在标记
<div id="prog">
我的输出中如何使用 Opal 将字符串写入特定位置?
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'
ruby - 在 sinatra 上将 opalrb 与 sprocket 集成
我想将 Opal 集成到我的下一个项目中,并决定从 sinatra-asset-pack 转移到 sprockets,但是我找不到任何关于如何将 opal 集成到 sprockets 而不仅仅是单独设置 sprockets 和 opal 的信息。
如何设置 sprockets 并将 Opal.rb 与它集成?
请记住,我不会将它作为机架文件运行,这是由于我们的环境造成的,所以它不可行,而是我将我的应用程序捆绑为 gem 并通过可执行文件运行它。
或者,如果这方面的一些资源已经存在而我只是无法找到它,那么也许只是指出我这样做的正确方向,那也很棒。
ruby - 蛋白石遇到问题并尝试渲染一个简单的 react.rb 模板
我正在尝试将 react.rb gem 与蛋白石一起使用,但是我遇到了麻烦。
下面是一个简单的 hello world 组件,没什么复杂的。
这样做:
得到了我的期望,这个:
问题是当我尝试将模板渲染到 dom 时。
这:
只是给我:
所以我认为这是因为document.body
尚不存在,但是以下都不能访问窗口工作(或文档):
似乎没有适用于 JS 等效项的蛋白石命令文档,而且我找不到任何示例工作。
我快要拔头发了,我该怎么办?
编辑:
执行以下操作实际上有效:
我没有使用 jquery,所以我必须执行以下操作才能获得document.ready
:
但它是 suuuuper hacky。
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 () {}
但没有效果。
为什么现在不起作用?我错过了什么?
ruby - opal-jquery ajax 请求发送格式错误的 json 字符串
我正在使用 opal-jquery 向我的后端发送 ajax 请求,但是当我尝试在后端访问它时,json 有效负载格式错误。
当我puts @params.to_s
在后端执行时,它显示为:
因此,要获取登录详细信息,我必须这样做:
我的前端(蛋白石)提交请求如下所示:
我绝对知道细节的格式正确,所以这不是问题。
我想最后归结为是否
opal-jquery 错误地发送 post 请求
sinatra 不正确地解析请求。
我不确定它是哪一个,但我倾向于相信它是前者,因为在我改用 react.rb 作为前端之前它运行良好。
ruby - 无法在 Opal 的“self.included”挂钩中的基础对象上创建变量
正如问题标题所说,我在模块中有一个包含的钩子:
我的 API 要求对象上的某些变量存在,但没有一个变量被创建。
我试过了:
base.variable_name = []
%x|#{base}.variable_name = []|
base.instance_variable_set(:@variable_name,[])
base.instance_exec{@variable_name = []}
- 1-2 在内部
base.instance_exec
但使用self
而不是base
然而它们都不起作用,控制台只是抱怨variable_name=
不存在。
我勒个去?
如何让变量存在于included
钩子内的基础对象上?
ruby - Volt 0.9.5pre4 中的硒超时
我试着跑
并得到这个错误:
无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1:7055)
长时间等待后,该应用程序挂起并引发该错误。
Volt Framework 是否没有将 selenium webdriver 锁定到正确的版本?
ruby - 当点击链接到具有相同操作 (VoltRb) 的页面时触发操作
在http://localhost:3000/books
,我有一个索引页,其中有一个书籍列表。
当您单击其中一个链接时,它所绑定的操作book
会被触发:
但是,当您单击其中一个书页中的链接之一时,book
不会触发该操作:
请注意,从索引页面和书籍页面单击链接时,URL 确实会发生变化,但是我遇到的问题是,book
当您单击另一本书的书籍页面的链接时,该 URL 不会被激活页。我该如何解决这样的情况?
仅供参考,这是一个可以重现此问题的存储库。
ruby - 新的 Volt 应用程序中的 PhantomJS 加载问题
我试着跑
在新创建的 Volt 应用程序上并遇到以下错误:
这是一个非常默认的规范:
请记住,这是默认的规范设置。我在这里错过了什么吗?