解析 .erb 文件并返回字符串/Ruby 标记中的所有内容

Posted

技术标签:

【中文标题】解析 .erb 文件并返回字符串/Ruby 标记中的所有内容【英文标题】:Parse .erb file and return Strings/Everything Within Ruby tags 【发布时间】:2021-04-26 00:45:59 【问题描述】:
<h3>
  <% # This is fine %>
  <%= t("argument") %>
</h3>
<p>
  <%= "I need to return bad strings like this in ERB tags without method calls" %>

我正在解析 RSpec 中的一些 html.erb 文件以确保没有随机字符串(IE 以确保所有字符串都通过 Rails' 。我不想使用 render : partial 因为我不想将 Ruby 变量作为本地变量处理。

这可以通过正则表达式或其他一些内置的 ruby​​ 方法轻松完成吗?请注意,我尝试了一些类似 Rubocop 的工具,例如 erb-lint,但它们并不完全符合我的目的。

【问题讨论】:

我不太清楚你为什么使用编码字符串作为 ruby​​ 标签,而不是仅仅将它们作为文本包含... 有人可能会使用带有一些插值的 ERB 标签, 【参考方案1】:

为什么您不使用 Notepad++ 或 find 或 grep 之类的工具来查找您不想要的模式? 如果你给我一些关于你使用 linux 或 windows 的信息,我可以给你一个推荐。

在所有 .erb 文件中搜索 &lt;%= " 之类的模式?

【讨论】:

你能编辑你的答案,使它成为一个实用的答案吗?即使用“工具”显示示例:find app/views -type f -exec grep -l '%= "' \; 我显然在寻找一个工具来做这件事,所以我在这里发帖。 寻求工具推荐的问题不在 *** 上。所以我真的鼓励你做个好人@zasman。 ***.com/help/…. 老兄,我没有粗鲁。我不是必须寻找“库”意义上的“工具”,而是寻找解决方案或方法意义上的“工具”,例如如何解析的 Ruby 解决方案。也许有人可以建议一种正则表达式方法。而这家伙就是那个粗鲁的人,他说:“你为什么不用工具?”也许我需要在原始帖子中指定我尝试了一些宝石,因为直截了当地说“你为什么不使用工具”是毫无价值的评论 您是否已经尝试过上面@jad 的查找命令?

以上是关于解析 .erb 文件并返回字符串/Ruby 标记中的所有内容的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails,json vs js ajax 响应

从 ruby​​ on rails 中删除 new.haml/new.erb?

如何在 html.erb 文件中运行多行 Ruby

在 Ruby on Rails html.erb 文件中循环

ERB预处理ruby代码

Ruby 时区——到 UTC 并返回