A long-lived project that still receives updates
A Rails engine providing Foundation 6 styled Devise views (aligned with current Devise templates) in ERB, HAML, and Slim
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 2.4
~> 13.0
~> 3.12
~> 1.50

Runtime

>= 4.9, < 6.0
>= 6.0, < 9.0
 Project Readme

DeviseFoundationViews

CI Gem Version

Devise authentication views styled with Foundation for Sites 6, aligned with the current Devise view templates.

Requirements

  • Ruby >= 3.0
  • Rails >= 6.0
  • Devise >= 4.9, < 6.0
    • Devise 5 requires Rails 7+
  • Foundation 6 CSS in your application (not included in this gem)

Installation

Add to your Gemfile:

gem 'devise-foundation-views', '~> 1.0.1'
bundle install

Include gem styles in application.css.

Sprockets without Sass (recommended — no sassc required):

*= require devise_foundation_views

With Sass (requires sassc or dartsass-rails in the host app):

*= require devise_foundation_views_scss

Or Less:

*= require devise_foundation_views_less

Ensure your app loads Foundation 6 (e.g. via foundation-rails, npm, or CDN).

Centered auth layout (optional)

Copy a minimal Devise-only layout (centered card, no app chrome):

rails g devise:views:foundation_layout

Then add to ApplicationController:

layout :layout_for_controller

private

def layout_for_controller
  devise_controller? ? "devise" : "application"
end

And in application.css:

*= require devise_foundation_layout

Sign out without Turbo

If you do not use Turbo, sign out must use DELETE, not GET:

<%= button_to "Sign out", destroy_user_session_path, method: :delete, class: "button" %>

link_to ..., data: { turbo_method: :delete } only works when turbo-rails is loaded.

Generators

Copy locale files:

rails g devise:views:locale it

Copy Foundation-styled Devise views into your app:

rails g devise:views:foundation_templates
rails g devise:views:foundation_templates slim
rails g devise:views:foundation_templates haml

Features (1.0.x)

  • Foundation 6 XY grid layout (grid-container, grid-x, cell)
  • devise/shared/_error_messages partial (Devise standard)
  • ERB, HAML, and Slim templates
  • Devise 4.9+ and 5.x compatible fields (autocomplete, pending_reconfirmation?, Turbo confirm on delete)
  • OmniAuth providers use button_to with data-turbo="false"

Error messages

Prefer the shared partial (used in all bundled views):

<%= render "devise/shared/error_messages", resource: resource %>

foundation_devise_error_messages! remains available but is deprecated.

Upgrading from 0.x

Version 1.0.0 requires Ruby 3.0+, Rails 6.0+, Foundation 6, and Devise 4.9+. See UPGRADE_GUIDE.md.

Contributing

Bug reports and pull requests are welcome at https://github.com/ethirajsrinivasan/devise-foundation-views.

License

MIT — see LICENSE.txt.