6

I'm using the Apartment gem to build a multi-tenant app (each tenant lives in a different Postgres schema).

What's the best way in Rails to define custom CSS overrides for each tenant?

Jacob
  • 6,317
  • 10
  • 40
  • 58

1 Answers1

1

Given that multi-tenancy is itself a deviation from the rails way of doing things, I am not sure there a definitive answer to be provided here.

I recommend the following approach, which I think fits well with your use case:

In your layout:

<html>
<head>
  <%= stylesheet_link_tag "tenant_#{@tenant_name}" %>
</head>
<body class="tenant-<%= @tenant_name %>">
</body> 
</html>

In your scss files:

For each tenant (say t1) you can have:

tenant_t1.css.scss

body.tenant-t1 {
  ... stylesheets specific to tenant 1 scoped within tenant-specific class ...
}
lorefnon
  • 12,875
  • 6
  • 61
  • 93