Ruby

Ruby

Made by DeepSource

Prefer using templates instead of rendering inline text RB-W1011

Anti-pattern
Major

Using plaintext to render view is error prone and very unmaintanable. Prefer using templates instead of rendering inline text.

Bad practice

class ProductsController < ApplicationController
  def index
    render inline: "<% products.each do |p| %><p><%= p.name %></p><% end %>", type: :erb
  end
end

Recommended

<%= render partial: 'product', collection: products %>

## app/views/products/_product.html.erb
<p><%= product.name %></p>
<p><%= product.price %></p>

## app/controllers/products_controller.rb
class ProductsController < ApplicationController
  def index
    render :index
  end
end