
Dmitry
04.09.2017
08:37:04
class User < ApplicationRecord
has_many :appointments
has_many :courses, through: :appointments
end
class Course < ApplicationRecord
has_many :appointments
has_many :users, through: :appointments
end
class Appointment < ApplicationRecord
belongs_to :course
belongs_to :user
end
я сначала просто создал этим модели с нужными полями потом дописал вот эти зависимости а потом делал -

Google

Dmitry
04.09.2017
08:38:19
rails g migration add_references_to_user course:references appointment:references
rails g migration add_references_to_course user:references appointment:references
rails g migration add_references_to_appointment user:references course:references
помню раньше я делал это как то иначе. не так криво

Fedor
04.09.2017
09:06:04
никогда не использовал эти add_references, но если я правильно помню, они просто создают поле с id и индекс на него
индекс нужен не всегда, поэтому я просто поля с id создаю, и индекс руками, если надо
миграции никак на приложение не влияют, они только в БД меняют состояние

Dmitry
04.09.2017
09:07:37
а вот эти белонгс ту и нас мани они работают когда active records что то делает их смотрит каждый или они один раз дергаются
мол оп, глянула записала и теперь вот такая вот у нас зависимость

Fedor
04.09.2017
09:08:19
belongs_to - говорит, что в таблице для этого модели есть поле с id шником связанной
и ar знает, что надо дернуть table_name WHERE parent_id = ...

Dmitry
04.09.2017
09:08:58
вопрос скорее кому и в какой момент говорит

Fedor
04.09.2017
09:09:21
has_many говорит, что есть дочерняя таблица, в которой есть parent_id и ar знает, то надо дергать child_table where parent_id = self.id
вот и вся разница
ну и он на лету генерит методы для этого дела

Google

Fedor
04.09.2017
09:09:48
это DSL
ты вызываешь метод, который создает методы
тоесть ты сказал has_many :childrens

Dmitry
04.09.2017
09:10:30
а вот у меня связь с курсами у юзера через Appointment

Fedor
04.09.2017
09:10:37
и при инициализации создались методы инстанса childrens, которые при вызове дергают запрос в бд
ага
точто так же, ты сказал has_many :clidren, through: :middle

Dmitry
04.09.2017
09:11:33
я как бы сделал и все работает. и как бы вроде понимаю что там просто id храняться

Fedor
04.09.2017
09:11:39
и при инициализации создается метод childrens, в котором просто сидит другой sql

Dmitry
04.09.2017
09:11:58
и ar узнает где их смотреть как раз в модели.
так ну вроде освежил воспоминания.

Fedor
04.09.2017
09:12:17
в котором записано select childrens joins middles ON middle.children_id = children_id AND parent_id = parent.id

Dmitry
04.09.2017
09:12:43
спасибо.

Fedor
04.09.2017
09:12:54
все модификаторы, которые ты передаешь при создании модели просто меняют вот этот sql в методе, который будет сгенерен при инициализации модели
не за что

Radzhab
04.09.2017
10:22:23
кто работал с бутстрапом подскажите
https://pastebin.com/WkqfKkqC
почему то колонки все в одну строчку идут

Igor
04.09.2017
10:30:05
там должно быть

Google

Igor
04.09.2017
10:30:17
col-md-6, col-lg-6, col-xs-6
как-то так
а таких классов col-6 или просто col - нет

Vitaly
04.09.2017
10:30:54
Скорее всего это он

Igor
04.09.2017
10:31:04
теперь буду знать)

Radzhab
04.09.2017
10:31:21
gem 'bootstrap-sass', '~> 3.3.6'

Di
04.09.2017
10:31:34
Ну теперь вопрос какой это бутсрап

Igor
04.09.2017
10:31:50
походу третья версия

Radzhab
04.09.2017
10:31:53
а как определить?
Виталий, по ходу это не 4

Radzhab
04.09.2017
10:32:28
я добавил col-md-6
и заработало

Vitaly
04.09.2017
10:32:43
=) Наверное новую документацию открыл
тогда тебе доки к третьей версии нужно смотреть

Alexander
04.09.2017
10:39:24
Все здравствуйте. У кого-нибудь в 26-м уроке было с date_time_picker-ом такое вот? http://joxi.ru/brRng6jHQL6jkr.jpg
файлы *js и css c локалхоста подгружаются, а вот форма глючит
я даже cdn на jquery поменял, и на компуктер ругался. Не помогает(

Alex
04.09.2017
11:09:34
Покажи подключение стилей

Google

Alexander
04.09.2017
11:11:10
https://paste2.org/OOUGG906
18-19 строка
сначала делал по уроку, потом гит клонировал и сделал по документации. Один результат

Alex
04.09.2017
11:18:46

Alexander
04.09.2017
11:18:51
в erb $(function(){
$('#color').simplecolorpicker();
$('#datetimepicker').datetimepicker();
});
id прописан без ошибок

Alex
04.09.2017
11:19:29
а обертка? script и т.д.
<script type="text/javascript">
$(function(){
$('#color').simplecolorpicker();
$('#datetimepicker').datetimepicker();
});
</script>
Так подключал?
Лучше бы ссылку на репозиторий

Admin
ERROR: S client not available

Alexander
04.09.2017
11:21:09
сек
https://paste2.org/ZnhLPLzm
это вьюха
сейчас пуш сделаю
git@github.com:TarrinRos/barbershop.git

Alex
04.09.2017
11:23:41

Alexander
04.09.2017
11:24:45
ок, попробую

Alex
04.09.2017
11:25:01
стоп, можно и без него

Alexander
04.09.2017
11:30:57
да, собственно все тоже самое

Alex
04.09.2017
11:35:05
1) Вынеси script из формы
2) Наведи порядок с путями к файлам, у тебя там вся консоль в GET ошибках
3) Вместо CDN лучше используй что-то вроде этого: https://rails-assets.org/ или прямо из гемов

Google

Alex
04.09.2017
11:39:14
4) Наведи порядок (разбей на группы) в подключении стилей и js, сейчас там каша и очень тяжело читать. JS отдельно, css отдельно.
5) Порядок подключения:
jquery, bootstrap, jquery.simplecolorpicker, bootstrap-datetimepicker
css: бутстрап, сиплколорпикер, дэйттаймпикер
и все должно заработать )

Alexander
04.09.2017
11:40:14
хорошо, спасибо, сделаю

Nikolay
04.09.2017
12:50:20
интересно, как оказывается можно уронить рельсы и довольно тяжело понять будет в чем дело, т.к. не показфвается где ошибка. Если в файле локали yml добавить : в конце строки

Alex
04.09.2017
12:51:25

Nikolay
04.09.2017
12:51:40
не посмотрел

Alex
04.09.2017
12:57:49
Думаю в /log/development должно писать

Ilya
04.09.2017
13:00:10
Ребята, такой вопрос. Использую гемы simple_form и cocoon для форм, есть модель ServiceArea, она has_many :optional_blocks. OptionalBlock в свою очередь has_one :image, as: imageable. В чем суть, в форме ServiceArea хочу создавать OptionalBlock. Долго не получалось с созданием, но в итоге получилось, запись создается. Но когда пытаюсь открыть эту ServiceArea происходит бесконечный рендер _optional_block_fields.html.erb. Не могу понять в чем проблема. Исходники в гисте, надеюсь на вашу помощь!
https://gist.github.com/anonymous/8263d5034a21e193ec8f8d82ab962a39

Vlad
04.09.2017
13:29:09
@Shaglock _optional_block_fields.html.erb 5-я строчка что делает? ) Не знаю что делает .build_image делает, но @service_area.optional_blocks.build вызывает рендер формы... еще одной... а в этой форме опять рендер формы, разве не так?

Ilya
04.09.2017
13:30:22
Поле для image делает

Vlad
04.09.2017
13:30:51
Закомментарий эту строчку и проверь

Ilya
04.09.2017
13:31:26
Ну тогда просто пропадет поле для image, а мне надо чтобы у каждого optional block был свой image
Скорее всего проблема в этом билде, но как сделать правильно?

MR
04.09.2017
13:52:49
Попробуй
<%= f.simple_fields_for :image, ([@service_area, @service_area.optional_blocks.build]) do |image_fields| %>

Radzhab
04.09.2017
13:54:02
подскажите как подрубить эту либу https://github.com/Nerian/bootstrap-datepicker-rails
внес все изменения в файлы
= f.text_field, data-provide='datepicker'
вот slim-код
выдает ошибку