解析 .erb 文件并返回 Strings/Everything Within Ruby 标签

Parse .erb file and return Strings/Everything Within Ruby tags

提问人:zasman 提问时间:1/21/2021 最后编辑:marc_szasman 更新时间:3/6/2021 访问量:334

问:

<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 文件,以确保没有随机字符串(即 <%= “未翻译的单词” %>以确保所有字符串都通过 Rails 的 <%= t('string') %>。我不想使用 render : partial,因为我不想处理作为局部变量传递 Ruby 变量。

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

ruby-on-rails ruby html-解析 erb

评论

0赞 Jad 1/21/2021
我不太确定你为什么要使用编码字符串作为 ruby 标签,而不仅仅是将它们作为文本包含在内......
0赞 zasman 1/22/2021
有人可能会使用带有一些插值的 ERB 标签,<%= 这是一个字符串 #{variable}“ %>

答:

0赞 Roger 1/21/2021 #1

为什么你不使用像Notepad++这样的工具,或者找到或grep来找到你不想要的模式? 如果你给我一些关于你正在使用linux或windows的信息,我可以给你一个建议。

搜索所有 .erb 文件以查找类似 ?<%= "

评论

0赞 Jad 1/21/2021
你能编辑你的答案,使其成为一个实用的答案吗?即使用“工具”显示示例:find app/views -type f -exec grep -l '%= "' {} \;
0赞 zasman 1/22/2021
我显然正在寻找一种工具来做到这一点,因此我在这里发帖。
0赞 max 1/22/2021
寻求工具建议的问题在 Stackoverflow 上是题外话。所以我真的鼓励你@zasman友善。stackoverflow.com/help/....
0赞 zasman 1/22/2021
伙计,我没有粗鲁。我不一定是在寻找“库”意义上的“工具”,而是在寻找解决方案或方法意义上的“工具”,例如如何解析的 Ruby 解决方案。也许有人可以建议一种正则表达式方法。这个家伙很粗鲁,他说“你为什么不使用工具?”也许我需要在原始帖子中说明我已经尝试了一些宝石,因为直截了当地说“你为什么不使用工具”是一个毫无价值的评论
0赞 Roger 1/22/2021
您是否已经尝试过上面@jad中的查找命令?