```ruby
module Salt
  module Renderable
    def render(site, body, context = {})
      context[:site] ||= site

      begin
        output = Erubis::Eruby.new(@contents).evaluate(context) { body }
      rescue Exception => e
        output = body
      end

      output = site.templates[@layout].render(site, output, context) if @layout && site.templates[@layout]

      output
    end
  end
end```

Use the contents method, not the @contents variable.
user
```ruby
module Salt
  module Renderable
    def render(site, body, context = {})
      context[:site] ||= site

      begin
        output = Erubis::Eruby.new(self.contents).evaluate(context) { body }
      rescue Exception => e
        output = body
      end

      output = site.templates[@layout].render(site, output, context) if @layout && site.templates[@layout]

      output
    end
  end
end```
assistant