Rails中的ERB中的<%,<%=,<%#和-%>有什么区别?
能否请您描述一下ERB文件中使用的以下字符的用法: <% %> <%= %> <% -%> <%# %> 每个有什么用? #1楼 Rails默认 不 使用 stdlib的ERB ,而是使用 erubis 。 资料来源: 该开发人员的评论 , ActionView的gemspec 接受了我在编写此 文档时所做的 合并请求 。 它们 之间行为的差异,特别是关于如何连字符运营 %- 和 -% 的工作。 文档稀缺, Ruby的ERB格式在哪里“正式”定义? 因此,以下是经验结论。 所有测试都假定: require 'erb' require 'erubis' 何时可以使用 - ERB:你必须通过 - 对 trim_mode 的选项 ERB.new 使用它。 erubis:默认启用。 例子: begin ERB.new("<%= 'a' -%>\nb").result; rescue SyntaxError ; else raise; end ERB.new("<%= 'a' -%>\nb" , nil, '-') .result == 'ab' or raise Erubis::Eruby.new("<%= 'a' -%> \n b").result == 'a b' or raise -% 是: ERB:如果下一个字符是换行符,则将其删除。 erubis: 在 <% %> (无 = )中