转义RoR生成器的模板字符

时间:2018-01-10 13:19:30

标签: ruby-on-rails ruby templates

我试图说服模板使用模板语言的标签不是命令,而是纯文本。

我的输出文件应如下所示(路径:app / views / projects / index.js.erb):

<%# Render list for XHR requests %>
<%= smart_listing_update :projects %>

其中:projects是变量

我有一个模板,应该生成这个文件(路径:lib / templates / haml / scaffold / template.js.erb):

<%# Render list for XHR requests %>
<%= smart_listing_update :<%= plural_table_name %> %>

我对此模板有2个问题

  1. <%#发表评论,因此输出中的第一行是不可见的
  2. <%= smart_listing_update查找变量,但我需要将其显示为文本
  3. 有人可以帮我写一下<%=<%#吗?

    使用当前模板,我最终会出现错误

      

    /home/vagrant/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/erb.rb:896:in   `eval&#39; :(错误):5:语法错误,意外的tOP_ASGN,期待&#39;)&#39;   (SyntaxError)at((smart_listing_update:&lt;%= plural_table_name   ).to_s); @o

1 个答案:

答案 0 :(得分:1)

我一提出问题就找到了答案。

模板应如下所示

<%%# Render list for XHR requests %>
<%%= smart_listing_update :<%= plural_table_name %> %>

注意标签开头时加倍%%