Все материалы для конспекта взяты с rubyschool.us
GET
POST - HTML ЭЛЕМЕНТЫ, МОЖНО ОТПРАВИТЬ С ПОМОЩЬЮ ФОРМЫ
PUT
DELETE
REST - передача состояния объекта
REST для сущности product(resourses):
index /products get вывести весь список
show /products/1 get вывести отдельную
new /products/new get форма для создания новой
create /products post отправка из формы выше
edit /products/1/edit get форма для редактирования
update /products/1 put обновление имеющийся
destroy /products/1 delete удаление из бд
Для работы с html/css/js:
Plunker
Сodepen
function clear_cart() {
localStorage.clear();
update_orders();
update_button();
$(' # cart').text('Your cart is now empty');
return false
}
<button class="btn btn-danger" onclick="return clear_cart(); return false">Clear cart</button>
В данном случает пишется return false для того чтобы при нажатии кнопки не отправлялась форма
если return false вынести в функцию, то необходимо будет дописать действие на кнопке <return "название функции">
rails generate GENERATOR params = rails g ....
Генераторы:
controller
model
...
Создание модели через консоль:
rails g model Article title:string text:text
Создается модель в бд Article cо столбцами title и text
В routes.rb добавим:
resources :articles
и в командной строке пропишем rake routes
ЧЕК-ЛИСТ:
- Модель (создание, rake db:migrate)
- Маршрут (resourse/resourses)
- Контроллер
- Actions (index*/show/new+create/edit+update/destroy or others)
- Views
Статья - Комментарии
отношения one-to-many, те у одной статьи может быть множество комментариев
Создание модели Comments
rails g model Comment author:string body:text article:references
Для sqlite3 просмотр названия столбцов в таблице бд:
pragma table_info(table_name);
Вложенный маршрут:
resources :articles do
resources :comments
end
В модели Article дописать:
has_many :comments
Active Record
Что можно делать с сущностями:
CRUD - Create Read Update Delete
Create - .new/.save | .create(используется в миграциях)
Read - .find/.all/.where(выбор по критерию)
Update - .update обновление сущности
Delete - .destroy удаление
RSPEC
фреймворк для тестирования приложений
запуск: rspec file.rb
describe Class do
it "" do
end
end
arrange - подготовка необходимого для теста
act - действие
assert - проверка действия