Regular Expression

Dear All,
I need to apply a regular expression in 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 %>

<%= strain_appendice.appendix %>

<% strain.strain_id %> <% strain.relevance %>

<%else%>
<%= strain_appendice.appendix %> - <% strain.strain_id %> <% strain.relevance %>
<%end%>
<%end%>

This code replaces the all content of a strain.strain_id & strain.relevance and doesnot passes match criteria. Instead of matching it replacing strain.strain_id & strain.relevance contents.

Kindly tell me the way to match and pass conditions.

Most of this logic should be in the controller not the view, just pass
the data needed for display to the view. I suggest you move it to the
controller, where the logic will be much easier to read, and see what
happens then. If it is still not working you can debug it using
ruby-debug to find where it is going wrong. See the Rails Guide on
debugging if you do not know how to do this.

Colin

Dear Collin,

Thank you.

Having said that the logic should be in the controller I thought I
would point out a couple of errors in your code anyway so you may
understand more what was happening.

Dear All,

I need to apply a regular expression in 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 %>

Those <% should be <%= and did you mean the second two to be after </p>?

<%else%>
<%= strain_appendice.appendix %> - <% strain.strain_id %> <%
strain.relevance %>

<%= again. I note no p tags this time.

Colin