Created
July 28, 2014 14:45
Revisions
-
harssh created this gist
Jul 28, 2014 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,97 @@ ### Set up a Spree backend only install ```shell rails new store-backend ``` ### Gemfile ```ruby gem 'spree_backend', github: 'spree/spree' gem 'devise' ``` ### Install Spree and Devise ``` rails g spree:install rails g devise:install rails g devise User bundle exec rake db:migrate ``` ### This should go in your User model ```ruby has_and_belongs_to_many :spree_roles def has_spree_role?(role) self.spree_roles.all.include? role end ``` * Generate custom user set up for spree ``` rails g spree:custom_user User ``` * Change Spree.user class to User on initializer spree.rb ``` Spree.user_class = "User" ``` * Add fields to custom user ``` bundle exec rake db:migrate ``` * Remove both all.css and all.js from vendor/assets/javascript|stylesheets/spree/frontend/ ### Make sure your config/routes.rb look like this ```ruby Rails.application.routes.draw do root to: "spree/admin/orders#index" mount Spree::Core::Engine, :at => '/' devise_for :users do get '/login', :to => "devise/sessions#new" delete '/logout', :to => "devise/sessions#destroy" end end ``` ### Point spree_signup_path to login page ```ruby # since we don't need signup on a backend install def spree_signup_path main_app.login_path end ``` ### Create admin user via rails console ```ruby user = User.create(email: "spree@example.com", password: "spree123") user.spree_roles << Spree::Role.find_or_create_by(name: "admin") ``` ### Deface admin layout template to add logout link Create this file in app/overrides/spree/layouts/admin/inject_login_bar.html.erb.deface ``` <!-- replace_contents "[data-hook='admin_login_navigation_bar']" --> <ul id="login-nav" class="inline-menu"> <li><%= link_to('Edit', main_app.edit_user_registration_path) %></li> <li><%= link_to('Logout', main_app.destroy_user_session_path, :method => :delete) %></li> </ul> ```