@rubyschool

Страница 78 из 921
Alex
19.02.2017
20:13:06
Но проhas_many всё равно не понял
Я тоже легко запряг и где-то на 29 тоже застрял. Нам нужно покопаться в примерах полегче.

Николай
19.02.2017
20:13:53
Я так то не застрял) оно где-то крутится рядом))

Alex
19.02.2017
20:13:55
благо, не знаю как вы, а я по записи учусь) Тормозить можно в людой момент(

Николай
19.02.2017
20:14:13
Поймать надо)

Google
Alex
19.02.2017
20:14:36
да пока Рома объясняет, всё понятно. Но только немного в сторону и нет объяснения, то тут руки и выкручиваются)

А лепрозорий на Активрекорде получиося?

или пока не начинал?

у меня с details проблема

Николай
19.02.2017
20:16:04
Ну вот это ж оно и есть

Alex
19.02.2017
20:16:08
с добавлением комментариев

Николай
19.02.2017
20:16:17
Я ббшоп пилю

И его туда

Vitaliy
19.02.2017
20:16:30
и те данные, которые были внесены между минрациями?
да, смотрите как это происходит: 1. Таблицы нет 2. Миграцией создаем таблицу Пользователи с полем Имя 3. Ура, у нас есть таблица Пользователи, мы можем создать парочку и указать для них Имена! 4. Еще одной миграцией добавляем в таблицу Пользователи поле Фамилия 5. Ура, теперь мы можем указывать для пользователей не только Имя, но и Фамилию! Укажем для созданных ранее пользователей их фамилии, и создадим еще парочку новых с именами и фамилиями 6. Откатываем последнюю миграцию (в которой добавляли Фамилии к Пользователям) 7. О нет, в нашей таблице Пользователи больше нет поля Фамилия :( 8. Снова применяем последнюю миграцию 9. Ура, поле Фамилия снова есть! Только все фамилии, которые мы вводили - навсегда были утрачены на шаге 6 :( придется вводить заново 10. Снова откатываем последнюю миграцию 11. Снова поле Фамилия пропало :( 12. Откатываем еще одну миграцию (в которой создавали таблицу Пользователи с полем Имя) 13. О нет, теперь и поля Имя нет, и вообще всей таблицы Пользователи нет! :(

Alex
19.02.2017
20:17:31
:) понятно

Николай
19.02.2017
20:17:36
Шаг 4 подробнее

Google
Николай
19.02.2017
20:19:01
add_another_fields_to_ это метод? Или случайное имя?

Vitaliy
19.02.2017
20:19:31
да, миграцию удобно создать командой rails g migration blablabla

Николай
19.02.2017
20:19:39
И я так понял, ролбэк ничем не лучше удаления базы))

Vitaliy
19.02.2017
20:19:49
где blablabla - имя миграции, где-то произвольное, а где-то вполне конкретное

Николай
19.02.2017
20:19:59
Ну разве что одна таблица страдает

Но связанные с ней данные тоже остаются без значений

Толку ноль, получается)

add_another_fields_to_ это метод? Или случайное имя?
Именно эта строка это имя метода? Или ты просто так написал, чтобы понятно было?

Vitaliy
19.02.2017
20:21:13
если у вас весь проект состоит из одной таблицы - то толку не будет, верно :)

Николай
19.02.2017
20:21:25
Ну а если из 2?

Vitaliy
19.02.2017
20:21:33
а если сто таблиц - будет лучше конечно затронуть только одну, нежели стереть вообще всё

Николай
19.02.2017
20:21:54
И данные одной таблицы без данных из другой не имеют значения?)

Vitaliy
19.02.2017
20:22:17
конечно

Николай
19.02.2017
20:22:22
Лучше, конечно, всё предусмотреть) что не очень реально))

Vitaliy
19.02.2017
20:22:37
лучше вообще не делать rollback, никогда

Николай
19.02.2017
20:22:47
?

Vitaliy
19.02.2017
20:23:02
Хорошим тоном является принцип "Добавляй, но не меняй и не удаляй"

rollback можно сделать если последнюю миграцию вы только только создали, и буквально только что прогнали, и данных в базе еще нет

Alex
19.02.2017
20:23:42
может как вариант создать новую БД, с уже предусмотренными новыми полями и сделать импорт из старой? Написал и сам пока не понял как это)))

Vitaliy
19.02.2017
20:24:19
может как вариант создать новую БД, с уже предусмотренными новыми полями и сделать импорт из старой? Написал и сам пока не понял как это)))
технически такое возможно. Но проще просто рядом создать еще одну миграцию, в которой добавить нужные поля

Google
Николай
19.02.2017
20:27:44
технически такое возможно. Но проще просто рядом создать еще одну миграцию, в которой добавить нужные поля
Я вот не совсем понимаю, как это... Как руби поймет, что ей нужно в новую миграцию?

Допустим, создана миграция createClient

Там таблица clients

Vitaliy
19.02.2017
20:28:44
Хорошим тоном является принцип "Добавляй, но не меняй и не удаляй"
В гайдах и статьях для начинающих об этом, кстати, мало говорят. И возможно это и нормально. Потом уже, когда скапливается достаточный опыт, чтобы ориентироваться в рельсах - на уровне пре-миддл/миддл - можно задаваться такими вопросами как обеспечение целостности, идемпотентности, масштабируемости проекта - и тогда будет полезно изучать принцип "Только добавляй".

Николай
19.02.2017
20:29:19
Хде? Хде изучать?)

Vitaliy
19.02.2017
20:29:34
Хекслет, например

там много годноты

в их слак-чате в том числе

Николай
19.02.2017
20:29:59
Что написать в строке rake db: create_migration NAME=??

Vitaliy
19.02.2017
20:30:04
и здесь https://github.com/Hexlet/webinars/wiki

Николай
19.02.2017
20:30:44
О

Во це дило))

Николай
19.02.2017
20:31:10
Но все же

Николай: Что написать в строке rake db: create_migration NAME=??

Vitaliy
19.02.2017
20:31:53
не совсем понимаю, что это за строка

в рельсах таких строк нет :)

Николай
19.02.2017
20:32:12
создание миграции

Vitaliy
19.02.2017
20:32:39
и здесь https://github.com/Hexlet/webinars/wiki
И на ютюб канале. Про миграции, например, есть у них вот хорошая такая лекция: https://www.youtube.com/watch?v=WPCz_U7D8PI&t=1s

Николай
19.02.2017
20:32:45
В синатре вот есть)

Vitaliy
19.02.2017
20:33:11
создание миграции
создание миграции это rails g migration прогон всех непрогнанных миграций это rake db:migrate

Google
Николай
19.02.2017
20:34:05
Ну если вызвать rake -T, то там будет и та срока, которую я написал

Во всяком случае, Роман так учит

Vitaliy
19.02.2017
20:34:26
rails g migration add_любые_слова_to_clients название_поля:тип_поля название_другого_поля:тип_другого_поля

Николай
19.02.2017
20:34:56
Возможно, это отличие рельсов от синатры... Хз

Vitaliy
19.02.2017
20:34:57
вот это создаст миграцию, которая при прогоне добавит в таблицу clients поля название_поля и название_другого_поля

аха, то есть у вас там не рельсы сейчас, а синатра?

Николай
19.02.2017
20:35:55
Ага

Alex
19.02.2017
20:36:04
чуть позже будут рельсы

Admin
ERROR: S client not available

Vitaliy
19.02.2017
20:36:27
Тогда, да, команды вроде rails g работать очевидно не будут. Тогда по синтаксису не смогу подсказать, не работал в синатре

Николай
19.02.2017
20:36:41
Слабак))

Alex
19.02.2017
20:37:24
?

Vitaliy
19.02.2017
20:37:33
а то, увяз тут в своей рельсе, а по сторонам не смотрит ?

Николай
19.02.2017
20:38:22
?

Да, тоже целый мир эти рельсы

Ладно, спасибо за инфу

Пошёл учиться дальше

Alex
19.02.2017
20:42:52
удачи)

осилишь, напиши или скинь готовую прогу

Evgeniy
20.02.2017
04:40:07
Флудилка рубичата 24/7

Google
Evgeniy
20.02.2017
04:40:48
Забегайте.

Ro
20.02.2017
04:52:07
блин

сорри, удалил случайно))

извиняй

напиши еще раз ссылку пожалуйста

@AlexEvgenikus

может еще кто захочет попиарить что-нибудь?

Tanya
20.02.2017
04:53:36
https://t.me/fldrubyschool вот ссылка, что Евгений скидывал

Ro
20.02.2017
04:53:41
пока еще есть несколько минут

о как, зато большой баннер :)

Tanya
20.02.2017
04:55:23
я незнаю как без него кинуть)

Evgeniy
20.02.2017
05:11:36
Главное не проспали.

spartakusQ
20.02.2017
05:12:43
Народ подскажите по коду.

http://paste2.org/k4mzfWWM

как правильно сделать ссылки на а и b

Vitaliy
20.02.2017
05:26:55
А кстати, с шести до восьми включительно? :)

А то у меня уже 8:26 - поезд ушел, да?

Aura
20.02.2017
05:29:41
Ro
20.02.2017
05:36:35
8:26 - да, жди четверга)

Vladimir
20.02.2017
05:39:54
http://paste2.org/k4mzfWWM
Вызывай всё из GameEngine. А в него передавай a и b из других классов. WinnerChoice можно вызывать с параметрами, либо в GameEngine сделать @@a @@b

Страница 78 из 921