问题标签 [erubis]

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 回答
104 浏览

ruby-on-rails - Ruby 渲染特定变量

我有一个模板,其中包含用于渲染的各种变量。

有没有办法我可以毫无例外地在模板中呈现特定变量。

预期输出:

我的用例是使用第一个变量渲染并获取渲染的内容。

但是,当我运行上面的代码时,它给出了异常:“未定义的局部变量或方法location

我正在使用 Erubis 进行渲染。我对 ERB 渲染也很好。只需要使用 ruby​​ 脚本进行渲染。

有什么办法让它工作吗?

0 投票
1 回答
941 浏览

ruby-on-rails - Bundler::GemNotFound:在任何源中都找不到 erubi-1.7.0

您好,我的捆绑包有问题。

我实际上是在 docker 中开发一个 rails 应用程序(dockerized rails)

我需要添加 bcrypt gem,但是当我添加这个 gem 并运行 bundle install ans bundle update 时,我收到了这个错误消息:

感谢帮助

这是我的 Gemfile :

还有我的捆绑环境

环境

Bundler 1.16.0.pre.3 Platforms ruby, x86_64-linux Ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux] Full Path /usr/bin/ruby Config Dir /etc RubyGems 2.6.13 Gem Home /usr/lib/ruby/gems/2.4.0 Gem Path /home/ervin/.gem/ruby/2.4.0:/usr/lib/ruby/gems/2.4.0 User Path /home/ervin/.gem/ruby/2.4.0 Bin Dir /usr/bin Tools
Git 2.14.1 RVM not installed rbenv not installed chruby not installed

Bundler 构建元数据

Built At 2017-10-05 Git SHA d94616dd8 Released Version true

0 投票
1 回答
29 浏览

php - 从 PHP 执行时,Erubis 不工作

我正在从 PHP 调用一个 Ruby 脚本system('ruby show.rb filename')

show.rb 看起来像这样:

在控制台中执行命令ruby show.rb filename时,所有内容都会打印出来,但是从 PHP 调用它时,它只打印文件名,但不会渲染模板。为了查看错误,我在 PHP 调用中通过管道传输了 stderr -> stdout,我得到了这个

/Library/Ruby/Gems/2.3.0/gems/erubis-2.7.0/lib/erubis/converter.rb:132:in 'scan': invalid byte sequence in US-ASCII (ArgumentError) from /Library/Ruby/Gems/2.3.0/gems/erubis-2.7.0/lib/erubis/converter.rb:132:in 'convert_input' from /Library/Ruby/Gems/2.3.0/gems/erubis-2.7.0/lib/erubis/converter.rb:36:in 'convert' from /Library/Ruby/Gems/2.3.0/gems/erubis-2.7.0/lib/erubis/engine.rb:30:in 'initialize' from show.rb:5:in 'new' from show.rb:5:in temp/Newsletter.rb'

我是红宝石的新手。是否有任何选项参数可以解决此问题?PHP在那里做了什么不同的事情,可能会发生错误?

0 投票
1 回答
313 浏览

ruby - erubis: `scan': US-ASCII 中的无效字节序列 (ArgumentError)

我在重构一个小型 Web 服务时遇到了这个错误。有趣的是,在生产服务器上,它运行良好。

我在 Debian 9 机器上使用 ruby​​ 2.3.3p222 (2016-11-21) [x86_64-linux-gnu] 运行 apache。

这是我的代码:

我已添加#encoding: utf-8到我的 ruby​​-script 顶部并在网上上下搜索,但没有找到解决方案。

0 投票
1 回答
1441 浏览

ruby-on-rails - 如何在 Rails 的 ERB 模板中使用 `<%=` 修剪前导空格,最终以`pre` 元素结束?

(据我在这里研究过,这不是一个重复的问题。正在讨论修剪空格 - 通常尾随换行符 -<%--%>,但不是<%=。这也可能是 Erubi 模板引擎中的一个小缺陷,一个Rails 将其用于 ERB 模板。)

我想在视图中呈现/语法高亮代码,我的 ERB 视图模板包含:

结果是 HTML 输出为:

由于pre标签的原因,第一行代码前面的空格被包含在HTML中并因此被渲染,导致第一行代码缩进四个空格过多。

显然,我也可以将 ERB 视图模板制作为:

但这在我的模板视图中看起来很难看(因为缩进已关闭)。

问题:我怎样才能使<%=也吞下前导空格?我知道使用-%>作为结束标签会删除尾随空格/换行符......但我希望前导空格(不仅仅是换行符)也被删除。