Build Ruby on Rails UI with Tailwind CSS and daisyUI
Rails teams often build product screens with ERB, partials, helpers, Turbo, and Stimulus. That stack rewards clear HTML. A UI library can slow it down when it hides markup behind a component API designed for another framework.
Heavy component packages also bring more JavaScript than a server-rendered Rails page needs. A dropdown or tab list should not turn the whole view into a front-end application.
Design sameness is another problem. Many Rails apps end up with the same admin theme look because the UI kit decides too much. Once that happens, customization means overriding classes instead of shaping the interface.
Tailwind CSS gives Rails a flexible styling base. daisyUI adds component classes that work with ERB, Turbo frames, and Stimulus controllers.
: Use btn, card, navbar, table, and alert in ERB without adopting a browser-side component runtime.
Hotwire keeps behavior: Turbo and Stimulus can manage updates and interactions while daisyUI handles appearance.
Multiple install paths: Rails can use daisyUI through a Node dependency, bundled files, or CDN depending on the project.
: Set data-theme in the layout and let repeated UI follow the same design tokens.
Rails remains a server-rendered app when you want it to be. daisyUI gives the views a cleaner UI vocabulary.
The Rails guide starts with the Tailwind CSS Rails gem, then offers Node dependency, bundle file, and CDN options for daisyUI. The Node and bundle-file paths use @plugin "daisyui" or a local daisyUI plugin file in app/assets/tailwind/application.css.
For the exact setup, see How to install daisyUI with Ruby on Rails.
Used by engineers at