Skip to content

Instantly share code, notes, and snippets.

@elvisgiv
Last active August 29, 2015 14:15
Show Gist options
  • Save elvisgiv/892e36a713c0db3284b4 to your computer and use it in GitHub Desktop.
Save elvisgiv/892e36a713c0db3284b4 to your computer and use it in GitHub Desktop.
creating rails app from scratch step by step

#The beginning Перед созданием приложения, смотрю на список установленных руби. Для этого в коммандной строке пишу:

C:\Users\elvis>pik ls
  ruby-2.0.0-p576
  ruby-2.1.5-p273

Теперь выбтраю нужный мне Ruby из списка с помощью команды:

C:\Users\elvis>pik use ruby-2.1.5-p273

Далее устанавливаю Rails:

D:\projects>gem install rails --no-ri --no-rdoc

После установки Rails, перехожу в папку, в которой буду создавать свое приложение. Команда создания приложения:

D:\projects>rails new classifieds (DB custom)
D:\projects>rails new classifieds -d mysql (DB mysql)

Т.к. я ленивый, то создаю classifieds.bat файл в C:\Users\elvis\classifieds.bat, в котором пишу:

d:
cd /
cd /projects/classifieds
pik use ruby-2.1.5-p273

Это нужно для того, чтобы быстро переходить в папку с приложением и выбором Ruby. При запуске командной строки пишем:

C:\Users\elvis>classifieds.bat

Что дает нам:

C:\Users\elvis>d:
D:\>cd /
D:\>cd /projects/classifieds
D:\projects\classifieds>pik use ruby-2.1.5-p273

Проверяем версию Ruby:

D:\projects\classifieds>ruby -v

Получаем:

ruby 2.1.5p273 (2014-11-13 revision 48405) [i386-mingw32]

Ну вроде бы как и все...что надо для продолжения создания приложения... ##Application create Если мы ПРИ СОЗДАНИИ приложения воспользуемся командой:

D:\projects>rails new classifieds -d mysql

То следующий абзац пропускаем.

Если по какой-то причине вы забыли указать прикрутку к базе данных приложения (команда rails new classifieds), то для того, чтобы это сделать вручную, заходим в D:\projects\classifieds\Gemfile и делаем так:

...
#gem 'sqlite3'
gem 'mysql2'
...

После этого меняем содержимое файла D:\projects\classifieds\config\database.yml (для всех команд создания) на:

default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password:
host: localhost

development:
    <<: *default
    database: classifieds_dev

test:
    <<: *default
    database: classifieds_test

production:
    <<: *default
    database: classifieds_prod

После этого делаем bundle install (если создали приложение без флага -d):

D:\projects\classifieds>bundle install

Затем пишем rake db:create в командной строке:

D:\projects\classifieds>rake db:create

Эта команда создала в две ПУСТЫХ базы данных:

classifieds_dev

и

classifieds_test

С которыми нам предстоит непосредственно работать. ##Repository create Инициализируем новый репозиторий:

D:\projects\classifieds>git init
Получаем => Initialized empty Git repository in D:/projects/classifieds/.git/

Затем мы добавим файлы нашего нового проекта Rails к Git:

D:\projects\classifieds>git add .

Для того, чтобы сказать Git, что мы хотим сохранить изменения, используем команду commit:

D:\projects\classifieds>git commit -m "Initialize repository"

Флаг -m позволяет нам добавлять сообщение для фиксации (коммичивания), например - "Initialize repository"

D:\projects\classifieds>git log

Позволяет видеть список своих сообщений о коммитах. Теперь идем на https://github.com/new и создаем там новый репозиторий с именем classifieds. Затем:

D:\projects\classifieds>git remote add origin https://github.com/elvisgiv/classifieds.git
D:\projects\classifieds>git push -u origin master
Username for 'https://github.com': elvisgiv
Password for 'https://elvisgiv@github.com':

Репозиторий готов:

https://github.com/elvisgiv/classifieds

Теперь создадим новую рабочую ветку используя checkout с флагом -b:

D:\projects\classifieds>git checkout -b modify-README
=>Switched to a new branch 'modify-README'
D:\projects\classifieds>git branch
master
* modify-README

Вторая команда, git branch, только перечисляет все локальные ветки, а звездочка * указывает, какая ветка в настоящий момент включена.

Меняем расширене файла README:

D:\projects\classifieds>git mv README.rdoc README.md

Открываем его и пишем все, что нужно по вашему мнению. Сохраняем изменения.

Просмотр статуса нашей ветки:

D:\projects\classifieds>git status
On branch modify-README
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

    renamed:    README.rdoc -> README.md

Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

    modified:   README.md

Добавляем измененные/новые файлы:

D:\projects\classifieds>git add .
warning: LF will be replaced by CRLF in README.md.
The file will have its original line endings in your working directory.

Коммитим изменения:

D:\projects\classifieds>git commit -m "Improve the README file"
[modify-README de705c5] Improve the README file
warning: LF will be replaced by CRLF in README.md.
The file will have its original line endings in your working directory.
2 files changed, 2 insertions(+), 28 deletions(-)
create mode 100644 README.md
delete mode 100644 README.rdoc

Объединяем результаты с master веткой:

D:\projects\classifieds>git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

D:\projects\classifieds>git merge modify-README
Updating 17a2c0f..de705c5
Fast-forward
README.md   |  2 ++
README.rdoc | 28 ----------------------------
2 files changed, 2 insertions(+), 28 deletions(-)
create mode 100644 README.md
delete mode 100644 README.rdoc

Теперь, когда мы обновили README, мы можем отправить изменения в GitHub:

D:\projects\classifieds>git push

Done!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment