Попробуйте это ... Кроме того, я заметил, что вы сравниваете "число" с '1'
как строка (у вас есть кавычки).Вполне возможно, что вам нужно сделать это вместо каждого оператора if: if x.number == 1
(обратите внимание, нет кавычек)
<% @fleamarkets.each do |x| %>
<% if x.number == '1' %>
<%= render partial: 'fleamarkets/card1', locals: {x: x} %>
<% elsif x.number == '2' %>
<%= render partial: 'fleamarkets/card2', locals: {x: x} %>
<% else %>
<%= render partial: 'fleamarkets/card3', locals: {x: x} %>
<% end %>
<% end %>