
Radzhab
18.03.2017
11:18:41
а почему мой вариант не пашет
я его брал с so

Vitaliy
18.03.2017
11:19:09
экшну show нужен еще id поста, вы его не указываете

Denis
18.03.2017
12:07:10
>ro:что мне не нравится - так сильно теоретический язык, нубам он мешает понять что >от них требуется. Нужны примеры из жизни, а не метафизика типа "напиши такой-то >класс, с такими-то атрибутами". Может это и круто если ты понимаешь, но это минус к >кайфу
все у них нормально с языком и с примерами, чтобы это понять достаточно посмотреть несколько уроков. Курсы сильно разные, если на твоем - начальная школа с 1 по 3 класс, то у них скорее с 1 - по 9 за то же время. По-хорошему завидуешь тем, кто к 10 уроку пишет валидацию и аксессоры, имея в арсенале одно! приложение из 15 взаимосвязанных файлов.

Google

Nikolay
18.03.2017
12:52:02
в irb отлаживаю программу, пользуюсь load './file.rb', а созданные объекты остаются прежними, можно как-то очищать все?
вроде по load должна происходить перезагрузка

Witalij
18.03.2017
12:57:14
ребята, такой вопрос. вот возьмём условный твиттер. там есть модель posts с полями id, user_id, body. но ведь постов очень много! если я захожу на страинцу к Васе, то что, мы выбираем по этой огромной таблице посты с user_id Васи? это так обычно и реализуется, или есть другие методы, модели к подобным задачам?

Nikolai
18.03.2017
12:57:50
Да, кстати
Хороший вопрос, самому интересно

Vitaliy
18.03.2017
12:59:04
User.find(params[:id]).posts

Nikolai
18.03.2017
12:59:10
Догадки у меня есть, но не буду озвучивать
Виталий, вопрос в том, как это сделано без тормозов
Потому как искать каждый раз в таблице на несколько миллиардов строк

Vitaliy
18.03.2017
13:00:26
На колонку user_id добавлен индекс в бд

Denis
18.03.2017
13:00:35
Индексация

Vitaliy
18.03.2017
13:00:55
Поэтому поиск идет не перебором, а по деревьям индекса, это быстрее

Witalij
18.03.2017
13:01:17
индексация решит проблему при миллиарде постов?

Google

Vitaliy
18.03.2017
13:01:24
Да

Nikolai
18.03.2017
13:01:32
А всякие фишки, типа денормализации не применяются?
Например, каждому юзеру свою таблицу с постами

Witalij
18.03.2017
13:02:51
вот я читал кстати, что в фейсбуке друзья юзера - отдельная таблица

Vitaliy
18.03.2017
13:03:20

Witalij
18.03.2017
13:03:51
большое спасибо за разъяснения! отлегло от сердца)

Nikolai
18.03.2017
13:04:00
Виталий, может порекомендуешь что-нибудь почитать по архитектуре БД?

Vitaliy
18.03.2017
13:04:52
Базы данных. Основы, проектирование, использование. Мария Малыхина

Nikolai
18.03.2017
13:05:29
Спасибо

Nikolay
18.03.2017
13:07:39
а вот такой вопрос, если допустим делается класс Animal в нем методы и от него наследуется класс Cat. Соответсвенно экземпляр Animal никогда создаваться не будет, но создать его можно - это как-то решается?

Vitaliy
18.03.2017
13:10:35
в самом руби абстрактных классов нет, но вы можете определить в Animal инициализатор, выдающий ошибку, если вызвать конкретно его. И перегружаете этот инициализатор уже рабочими в Cat и других классах
class Animal
def initialize
raise 'You can not create instance of Animal'
end
end
class Cat < Animal
def initialize
# your logic for Cat initializer
end
end

Nikolay
18.03.2017
13:13:06
а если инициализация наследуется и одинаковая у потомков?

Vitaliy
18.03.2017
13:16:10
тогда так:
class Animal
def initialize
raise 'You can not create instance of Animal' if self.class == Animal
# your initializer logic
end
end
class Cat < Animal
end

Nikolay
18.03.2017
13:18:20
практикуется вообще это? или может вообще зря беспокоюсь?

Vitaliy
18.03.2017
13:20:49
Если нужно - можно. Мне за 4 года практики - ни разу не понадобилось
но я и не писал особо PORO классы

Nikolay
18.03.2017
13:22:12
понятно, спасибо )
а если в приложении создается много объектов динамически от ввода пользователя, можно их как-то список получить или их в массив помещать придется?

Vitaliy
18.03.2017
13:44:23
в массив, если я правильно понял задачу

Google

Aleksey
18.03.2017
14:53:08
Только смотри за памятью)

Nikolay
18.03.2017
14:55:27
да это лабы )

Denis
18.03.2017
15:13:32
Может кто подсказать как подружить collection_select с material design? обычный f.select дружит у меня хорошо и как надо, а collection - ни в какую
<select class="mdb-select">
<%= f.collection_select :current_station_id, RailwayStation.all, :id, :title, { :prompt => "Select " }%>
</select>
<select class="mdb-select">
<%= f.collection_select :current_station_id, RailwayStation.all, :id, :title, { :prompt => "Select bla bla bla " }%>
</select>
вместо второго <select>.....</select> читать как:
<script>
// Material Select Initialization
$(document).ready(function() {
$('.mdb-select').material_select();
});
</script>
в итоге select options у меня совсем ен там, где им следует быть:
переделал через обычный select:
<%= f.select :current_station_id, RailwayStation.all.map{ |m| [ "#{m.title}", m.id ] }, {prompt: "Select station"}, class: "mdb-select" %> все работает.


Radzhab
18.03.2017
16:24:28
подскажите плиз
есть две модели
Post и comment
на странице с Post хочу добавить и комменты

Radzhab
18.03.2017
16:25:01
<%= form_for([@post, Comment.new]) do |f| %>
<div class="field">
<%= f.label :message %><br />
<%= f.text_field :message %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>

Vitaliy
18.03.2017
16:29:01
Как выглядит routes.rb?

Radzhab
18.03.2017
16:29:30
только что добавил
resources :posts, only: [:index, :show, :new] do
resources :comments
end
вроде ошибка ушла, но непонятно зачем такая иерархич
я

Vitaliy
18.03.2017
16:30:16
REST, все дела

Google

Vitaliy
18.03.2017
16:30:28
Nested resources

Radzhab
18.03.2017
16:30:54
почему то при создании комента не пашет

Vitaliy
18.03.2017
16:31:38
Объявлен контроллер комментов?

Radzhab
18.03.2017
16:32:07
блин) нет
No route matches [POST] "/posts/60/comments"
создал контроллер

Vitaliy
18.03.2017
16:37:13
какой в контроллере код и путь?

Admin
ERROR: S client not available

Radzhab
18.03.2017
16:37:43
роут не менял
resources :posts, only: [:index, :show, :new] do
resources :comments, only: [:new, :index]
end

Vitaliy
18.03.2017
16:38:11
а, поэтому и не работает
1. Вам нужен экшн comments#index?
2. Вы хотите создавать комменты, это экшн comments#create

Radzhab
18.03.2017
16:39:20
1) ну да, чтобы получить все комменты для заданного поста\
2) да и в правду, забыл про create

Vitaliy
18.03.2017
16:39:51
1. Вы эти комменты выводите на отдельной странице posts/60/comments?

Radzhab
18.03.2017
16:40:06
ну да
даже нет

Denis
18.03.2017
16:40:13
1. комменты для поста не через экшион индекс выводятся

Google

Radzhab
18.03.2017
16:40:16
post/60
nen

Vitaliy
18.03.2017
16:40:42
post/60 - это экшн posts#show

spartakusQ
18.03.2017
16:40:51
народ кто знает в чём проблема с кодом из 32 урока
function something(){
var x = window.localStorage.getItem('bbb');
x = n * 1 + 1
window.localStorage.setItem('bbb', x);
alert('x');
}
каждый раз выдаёт старое и обновление не помогает

Vitaliy
18.03.2017
16:41:29
post/60 - это экшн posts#show
в этом экшне, и во вьюхе posts/show.html.erb у вас и будут выводиться комменты. отдельный экшн comments#index для их вывода не нужен

Radzhab
18.03.2017
16:42:19
я думал индекс для отображения всех коментариев, а show для отдельно одного

Vitaliy
18.03.2017
16:42:33
да, если вы выводите их на отдельных страницах

Pavel
18.03.2017
16:42:46

Silent Bob
18.03.2017
16:43:34
А где скачать можно?
за ништяками по руби все сюда, там же и финкнетика есть https://telegram.me/joinchat/BEkVGT8QyCBWGXRzB1IF6w

Aleksey
18.03.2017
17:22:35
Хороший канал, там по рельсам книга 17 года

Nikolay
18.03.2017
17:39:28

Vitaliy
18.03.2017
18:02:42
да, такое тоже возможно

Radzhab
18.03.2017
18:54:35
какая альтернатива у form for
гем какой нить поудобнее
http://ru.stackoverflow.com/questions/641275/Как-внести-данные-в-несколько-таблиц-за-один-раз

Vladislav
18.03.2017
20:16:41
Оберни в контроллере в транзакцию. В контроллере в params бери вручную нужные ключи и каждый пуляй в нужную таблицу.

Vladimir
18.03.2017
20:17:39
Чтобы автоматизировать работу по переключению между окошками и копипастом, пишу программу на языке программирования AutoHotKey. Там всё серъезно, с переменными и функциями
В общем, когда что-то нужно, быстро разберешся в любом языке)

Vitaliy
18.03.2017
20:33:55
йеее: http://ru.stackoverflow.com/a/641283/217849