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

Если ваш сервер запустился и вы перейдёте по адресу 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 хвилин · Віктор

Запуск сервера

Rails идёт в комплекте с дев-сервером, поэтому вы можете потестить и посмотреть как он работает в вашем браузере. Для запуска сервера вам нужно запустить (**): rails server -b 0.0.0.0 **Замечание: Нам нужно исопльзовать флаг -b для связывания его ко всем сетевым адресам всередине контейнера Docker. Для упрощения, есть приготовленный контейнер, который запускает для вас сервер. Для запуска сервера скопируйте и вставьте в терминал следующий код, лучше всего в новом окне или табе и нажмине enter: ...

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

Создание “сделано” для 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 хвилина · Віктор

Установка Ruby on Rails

В этом уроке используется Docker и Docker Compose, поэтому чтобы начать вам не нужно беспокоится о специальной установке на вашем компьютере. Если вы ещё не знакомы с Docker, то не страшно, после того, как вы установите Docker и Docker Compose просто проверяйте, что каждый раз при смайлике “:whale:” возле команды вы находитесь в контейнере. Установка Docker и Docker Compose Если вы работаете с Mac или Windows, то можете загрузить и установить Docker Toolbox. ...

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

Переезд в Вену. Осень-зима

Передохнув два месяца дома в Украине, собрался с мыслями, вещами и деньгами поехал во второй раз в Вену. Добирался с приключениями — водитель из Ивано-Франковска, которому три раза звонил за день отъезда и три раза с утра в день отъезда всё-таки забыл про меня и не забрал из Львова, пришлось вызывать такси и догонять его. К чести водителя — компенсировал деньги за такси и подождал пока я доеду. Дорога из Житомира во Львов обошлась в 100 грн, из Львова в Вену — 50 евро. Контраст по приезду из Австрии в Украину ощущался несильно, но обратно — просто очень сильно. Сразу видны качественные дороги, поля с заборами, хорошие кафе и магазины, просто сразу видна разница. ...

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

Убрать рекламу в Ubuntu

Убрать рекламу Amazon, E-bay из Unity Dash панели в Ubuntu 13, 14, 15 Можете это сделать через Приватные настройки (Privacy section) в Системных настройках (System Settings). Либо через Терминал запустите команду: gsettings set com.canonical.Unity.Lenses disabled-scopes "['more_suggestions-amazon.scope', 'more_suggestions-u1ms.scope', 'more_suggestions-populartracks.scope', 'music-musicstore.scope', 'more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope', 'more_suggestions-skimlinks.scope']" Чтобы вернуть как было, нужно запустить команду снова, но заменить в ней ‘disabled-scopes’ на ‘enabled-scopes’.

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