でブロックを開きdo
、次の行はelse
です。あなたはそれをすることはできません。
私はあなたがこれをやろうとしていると思います
<% if params[:icd_id] = '' %>
<% @icd2.each do |f| %>
<%= link_to "#{f.von} - #{f.bis} #{f.bezeichnung}", diagnose_index_path(:pa_id => @patient, :icd1_id => f.id)%><br>
<% end %>
<% else %>
<% @icd1.each do |f| %>
<%= link_to "#{f.von} - #{f.bis} #{f.bezeichnung}", diagnose_index_path(:pa_id => @patient, :icd1_id => f.id)%><br>
<% end %>
<% end %>
しかし、私はあなたがそれをもっと簡潔にしたいと思っています。このようなことができます
<% (params[:icd_id] == '' ? @icd2 : @icd1).each do |f| %>
<%= link_to "#{f.von} - #{f.bis} #{f.bezeichnung}", diagnose_index_path(:pa_id => @patient, :icd1_id => f.id)%><br>
<% end %>
等しいかどうかをチェックする==
代わりに使用することにも注意してください。それ以外の場合は常に=
params[:icd_id] = ''
true