RailsでECサイトを作成する！gemはsolidusで作成！

# ECサイト用のディレクトリを作り、その後にbundle init
###作りたいディレクトリ下にファイルを作成。
他のプロジェクトファイルを干渉しないように、ファイルを工面しないといけません。
私の場合、Document下にファイルを作成しました！
ここではこのECサイトのプロジェクト名を"shop"とします！

ディレクトリ下で$bundle init 
このコマンドでgemfileが生成されますので、編集致します。Gemfileにての# gem "rails"はコメントアウトしないで、'solidus'と'solidus_auth_devise'記載。

```ruby:Gemfile.rb
# frozen_string_literal: true
source "https://rubygems.org"
# gem "rails"
gem 'solidus'
gem 'solidus_auth_devise'
```

#2.bundle installしてgemをインストールする！
上記1の手順の後に、bundle installしてgemをインストールします。コマンドはお使いの環境によって違いますが、ここではひとまず$ bundle install --path vendor/bundleをコマンドします。

$ bundle install --path vendor/bundle のコマンドで、Ruby on Railsをインストールします。この時gemfileの中では、railsはコメントアウトしたままです。ecサイト作成用の"solidus"で適用されるrailsがインストールされます。

#3.rails newでアプリケーションを作成 
2.までの手順の後にrails newをしなくてはなりません。なぜかというと、ここではまだファイルの中ではアプリケーションがないからです。

rails newをしてアプリケーションを作成しましょう。

ひとまずここでのアプリケーション名を、"ec"とします。

 $ bundle exec rails new ec -B -d postgresql
今後Herokuなどにデプロイすることも考慮に入れて、DBをpostgresqlに指定します。-Bは"--skip-bundle" の意味で、--skip-bundleを"-B"で省略しています。


#4.bundler環境を削除して、下準備を終える。
$ rm -f Gemfile

$ rm -f Gemfile.lock

$ rm -rf .bundle

$ rm -rf vendor  
bundler環境を一掃し、Railsアプリケーションの下準備の作成は完了です！


#5.gemをインストールする。solidusの記入を忘れないこと！
3.で作成した アプリケーションに進みgemのインストールをします。

 $ cd ec
ただ3.でrails newで作成されたアプリケーション内のgemfileでは、

１.で記入したgem 'solidus',gem'solidus_auth_devise'は記載がないので、改めて記載する必要があります。


gem 'solidus'
gem 'solidus_auth_devise'

```ruby:Gemfile.rb
# frozen_string_literal: true
source "https://rubygems.org"
# gem "rails"
gem 'solidus'
gem 'solidus_auth_devise'
```
上記gemを記入後、

 $ bundle install --path vendor/bundle のコマンドで、gemのインストール。

#6.solidus用に必要なのインストールする
5.の項目のあとに、

$ bundle exec rails generate spree:install

$ bundle exec rails generate solidus:auth:install

$ bundle exec rails railties:install:migrations

$ bundle exec rails db:migrate

上記のコマンドが必要なのですが、rubyのバージョンを指定されたので、
ともかく$ rbenv install 2.3.1でバージョンをインストール。
rubyのインストールは少し時間がかかります。およそ５分から１０分ぐらいですかね。

$ rbenv install バージョン指定でそのrubyのバージョンをインストールできます。
端末にどのバージョンがインストールされているかを、

$ rbenv　versionsで確認。

今回は2.3.1を指定します。

$rbenv global 2.3.1で指定し、

$rbenv rehash 2.3.1で切り替える。
$rbenv　versionsで確認してみましょう。

###$ bundle exec rails db:create をコマンド
その次に
$ bundle exec rails generate spree:installをコマンド。

Loaded Assets samples
Loaded Addresses samples
Loaded Stores samples
Loaded Orders samples
Loaded Payments samples
Loaded Reimbursements samples
      insert  config/routes.rb
**************************************************
We added the following line to your application's config/routes.rb file:
 
    mount Spree::Core::Engine, at: '/'
**************************************************
Solidus has been installed successfully. You're all ready to go!
 
Enjoy!

Solidusは無事にインストールされ、エンジョイ！との事！！

#７.Solidusを楽しもう！！イントロ完了まで後少し！
6.の続きをする。

$ bundle exec rails generate spree:installの後の、

$ bundle exec rails generate solidus:auth:install

上記コマンド後のメッセージ

bundle exec rails railties:install:migrationsをコマンドしろとのこと。

その後に、

bundle exec rails db:migrateしてねと、丁寧にメッセージが残っています。

 

早速サーバーを立ち上げてアプリケーションを確認。

おなじみの$rails s
![スクリーンショット 2017-08-26 13.11.37.png](https://qiita-image-store.s3.amazonaws.com/0/142296/c37af360-0ead-a496-c46c-70fa62c075f5.png)


localhost:3000で確認して、

上記の写真で確認できれば、もうsolidusのイントロは完了だ！！

###こちらに関して、ブログで取りまとめてます!
参考にして頂けたら幸いです。
http://www.papa-programing.jp/entry/rails-solidus