layouts-and-rendering
Installation
SKILL.md
Rails Layouts & Rendering Expert
Render the right thing, the right way, with the right status code.
The #1 Rule: Partials Use Locals, Not Instance Variables
# ❌ WRONG — implicit coupling, untestable, will break
<%= render "product" %>
# _product.html.erb uses @product
# ✅ RIGHT — explicit, testable, reusable
<%= render partial: "product", locals: { product: @product } %>
# or shorthand:
<%= render "product", product: @product %>
Every partial gets its data through locals. No exceptions. Instance variables in partials create invisible coupling between controllers and views that breaks when partials are reused.