assets/images/modxblog/309/ruby.jpg

Быстрый старт с Ruby и Rails

Этот урок - это вступление в Ruby и Rails (Rails - это веб-фреймворк для языка программирования Ruby). Для урока нужны только базовые знания веб, как она работает и чуть знакомства с такими инструментами как текстовый редактор и терминал/шелл. Если вы полностью не знакомы с терминалом, мы написали короткое вступление в Терминал. Вы можете найти какие-то другие точки для старта, так что рекомендую пользоваться Wiki. Или присоединится к Gitter Channel и учится у (с) других(ми). ...

18 листопада 2015 р. · 1 хвилина · Віктор

Добавление ToDo

Отлично, теперь у нас есть база, давайте теперь создадим наш собственный код на её основе. Поскольку вам нужны Модель, Отображения и Контроллер, чтобы всё заработало, то в Rails входит команда, называемая “resource”. Чтобы получить это для нашей первой модели, которую мы назовём “Todo”, мы запустим слеюующий код (**): rails generate resource Todo Произойдёт несколько вещей: Rails создаст необходимые файлы для нас в нужном месте. Если вы взглянете на созданные файлы, то они вас особо не впечатлят, но уже они позволяют вам создавать, сохранять, находить и редактировать ваши Todo. ...

18 листопада 2015 р. · 1 хвилина · Віктор

Добавление аттрибутов к Todo

Когда вы добавляете или удаляете что-то из базы данных, то вы можете делать это с помощью “миграций”. Миграции - это Руби код, где вы можете описывать что бы вы хотели поменять. Для начала вы можете сгенерировать миграцию следующей командой (**): rails generate migration add_todo_fields Если вы взглянете на ваш редактор и откроете папку db, то вы увидите, что там есть новый файл, который включает “add_todo_fields” и timestamp. Давайте отредактируем этот файл и добавим несколько колонок (вы можете думать о базе данных как о странице Excel). Для этого мы добавим следующее в метод change: ...

18 листопада 2015 р. · 1 хвилина · Віктор

Добавление отображений

Если ваш сервер запустился и вы перейдёте по адресу http://DOCKER_IP:3000/todos, то получите сообщение об отсутствии действия. Давайте его добавим. Во-первых, что бы мы хотели вывести? Действие “index” в основном используется для выводда списка, в нашем случае для вывода списка todos. Вначале мы получим из базы данных все наши Todos в действии index. Открыв файл app/controllers/todos_controller.rb, вы должны увидеть следующее: class TodosController < ApplicationController end Это создаст новый класс Controller для нас, который мы можем поместить наше действие. Между строками добавьте следующее: ...

18 листопада 2015 р. · 2 хвилин · Віктор

Добавление форм и чекбоксов

Ятобы добавить форму для создания новых todo и сделать отметку о уже выполненных мы внесём изменения в наш шаблон index.html.erb. Поменяйте первую строку – ту, что с <%= @todos.size %> – следующим кодом: `Todos: <%= @todos.size %> Add ` Это добавит форму для добавления новых todo. Эта форма делает POST запросы к /todos в нашем приложении. Rails использует HTTP-метдоы для маршрутизации запросов от пользователей. Вы можете видеть какие маршруты к каким контролерам и действиям и с какими HTTP-method, просто запустив (**): ...

18 листопада 2015 р. · 2 хвилин · Віктор

Создание “сделано” для Todos

Мы добавим “получатель” и “установщик” для нашей Todo-модели, тогда наш контроллер сможет записывать и наши просмотры смогут читать её. Обое будут использовать поле done_at, которое мы определили вначале. Метод “done”, получатель будет просто проверять поле на пустоту и сообщать: def done !done_at.to_s.empty? end Добавьте это к классу модели в app/models/todo.rb. Установщик будет выглядеть немного сложнее, но всё равно он простой: def done=(toggle) update(done_at: (toggle == "true" ? DateTime.now : nil)) end ...

18 листопада 2015 р. · 2 хвилин · Віктор

Создание и обновление Todos

Конечно, нам также бы хотелось добавить пару todos и отмечать их как “выполненные” при необходимости. В Rails это можно сделать добавив методы create и update к нашему контроллеру TodosController. В методе create мы хотим от Todo модели сохранить новый todo в нашу базу данных. Наше действие должно выглядить приблизительно так: `def create @todo = Todo.new(todo_params) if @todo.save redirect_to action: :index end end` Мы создаём новый Todo и назначаем его к переменной @todo. Затем попытаемся сохранить этот новый todo и если он возвращает true, то он будет направлять нас в наше index действие. ...

18 листопада 2015 р. · 2 хвилин · Віктор
assets/images/modxblog/309/ruby.jpg

Создание приложения

Наберите в своём терминале следующее (**): rails new todo-application Вы увидите, что произойдёт несколько вещей. Во-первых - создасться базовая структура приложения в папке todo-application. Команда cd todo-application приведёт вас в эту папку. Откройте папку в своём любимом редакторе и посмотрите, что в ней. В основном вы будете работать в папке app. Запустите bundle install в вашей директории приложения: bundle install ** Добавление приложения

18 листопада 2015 р. · 1 хвилина · Віктор

Стили для отображения

Так как мы сфокусируемся на Ruby on Rails here, то мы будем использовать CSS-Framework (SemanticUI) для обеспечения нам некоторого базового стиля. Добавьте следующее к вашему Gemfile: gem 'semantic-ui-sass', github: 'doabit/semantic-ui-sass' Для включения стилей и скриптов, чтобы наш SemanticUI заработал, нам нужно вызвать в require их. Добавьте это в файл app/assets/stylesheets/application.css в блоке комментариев наверху перед */: *= require semantic-ui И добавьте javascript в app/assets/javascripts/application.js: //= require semantic-ui Также в первом блоке комментариев, лучше перед require_tree .. ...

18 листопада 2015 р. · 1 хвилина · Віктор