erb Rails中的正则表达式问题

时间:2010-10-15 12:43:08

标签: ruby-on-rails ruby regex

我需要在html.erb中应用正则表达式

<% taxon_name.strains.each do |strain| %>
<% taxon_name.strain_appendices.each_with_index do |strain_appendice, i| %>
<% if ((strain_appendice.data_source =~ /LPSN/) && (strain.relevance =~ /^ty(.*)ain$/))%>
<% if i == 0 %>
<p><%= strain_appendice.appendix %>  </p> <% strain.strain_id %> <% strain.relevance %>
<%else%>
<%= strain_appendice.appendix %> - <% strain.strain_id %> <% strain.relevance %>
<%end%>
<%end%>

此代码替换了strain的所有内容.strain_id&amp; strain.relevance并没有通过匹配标准。而不是匹配它替换strain.strain_id&amp;应变相关内容。

请告诉我匹配和通过条件的方法。

- 问候,

帕拉尼坎南。 K,

1 个答案:

答案 0 :(得分:2)

如果我在最后添加两个<%end%>语句,这段代码对我有用,如下所示:

<% taxon_name.strains.each do |strain| %>
  <% taxon_name.strain_appendices.each_with_index do |strain_appendice, i| %>
    <% if ((strain_appendice.data_source =~ /LPSN/) && (strain.relevance =~ /^ty(.*)ain$/))%>
      <% if i == 0 %>
        <p><%= strain_appendice.appendix %>  </p> <%= strain.strain_id %> <%= strain.relevance %>
      <%else%>
        <%= strain_appendice.appendix %> - <%= strain.strain_id %> <%= strain.relevance %>
      <% end %>
    <% end %>
  <%end%>
<%end%>