Advertisement
Guest User

Untitled

a guest
Apr 4th, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. ### Set up a Spree backend only install
  2.  
  3. ```shell
  4. rails new store-backend
  5. ```
  6.  
  7. ### Gemfile
  8.  
  9. ```ruby
  10. gem 'spree_backend', github: 'spree/spree'
  11. gem 'devise'
  12. ```
  13.  
  14. ### Install Spree and Devise
  15.  
  16. ```
  17. rails g spree:install
  18.  
  19. rails g devise:install
  20. rails g devise User
  21.  
  22. bundle exec rake db:migrate
  23. ```
  24.  
  25. ### This should go in your User model
  26.  
  27. ```ruby
  28. has_and_belongs_to_many :spree_roles
  29.  
  30. def has_spree_role?(role)
  31. self.spree_roles.all.include? role
  32. end
  33. ```
  34.  
  35. * Generate custom user set up for spree
  36.  
  37. ```
  38. rails g spree:custom_user User
  39. ```
  40.  
  41. * Change Spree.user class to User on initializer spree.rb
  42.  
  43. ```
  44. Spree.user_class = "User"
  45. ```
  46.  
  47. * Add fields to custom user
  48.  
  49. ```
  50. bundle exec rake db:migrate
  51. ```
  52.  
  53. * Remove both all.css and all.js from vendor/assets/javascript|stylesheets/spree/frontend/
  54.  
  55. ### Make sure your config/routes.rb look like this
  56.  
  57. ```ruby
  58. Rails.application.routes.draw do
  59. root to: "spree/admin/orders#index"
  60. mount Spree::Core::Engine, :at => '/'
  61.  
  62. devise_for :users
  63. devise_scope :user do
  64. get '/login', :to => "devise/sessions#new"
  65. delete '/logout', :to => "devise/sessions#destroy"
  66. end
  67. end
  68. ```
  69.  
  70.  
  71. ### Point spree_signup_path to login page
  72.  
  73. ```ruby
  74. # since we don't need signup on a backend install
  75. def spree_signup_path
  76. main_app.login_path
  77. end
  78. ```
  79.  
  80. ### Create admin user via rails console
  81.  
  82. ```ruby
  83. user = User.create(email: "spree@example.com", password: "spree123")
  84. user.spree_roles << Spree::Role.find_or_create_by(name: "admin")
  85. ```
  86.  
  87. ### Deface admin layout template to add logout link
  88.  
  89. Create this file in app/overrides/spree/layouts/admin/inject_login_bar.html.erb.deface
  90.  
  91. ```
  92. <!-- replace_contents "[data-hook='admin_login_navigation_bar']" -->
  93.  
  94. <ul id="login-nav" class="inline-menu">
  95. <li><%= link_to('Edit', main_app.edit_user_registration_path) %></li>
  96. <li><%= link_to('Logout', main_app.destroy_user_session_path, :method => :delete) %></li>
  97. </ul>
  98. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement