
Dmitriy
16.11.2016
07:04:40
ребят кто может обьяснить строку @title = attributes[:title].nil? ? @post.title : attributes[:title] ?

Alex
16.11.2016
07:05:05
Мне кажется любой рельсовый разработчик должен хотя бы обладать скилами сконфигурить на vds рельсовое приложение

Dmitriy
16.11.2016
07:06:10
ааа

Google

Dmitriy
16.11.2016
07:06:54
капец
какой смысл тогда писать так

Alex
16.11.2016
07:07:24
Хрен знает, что за кейс?

johnny
16.11.2016
07:07:25
if attributes[:title].nil?
@post.title
else
attributes[:title]
end

Dmitriy
16.11.2016
07:07:28
если можно понятнее изложить
да я изучаю все form object

johnny
16.11.2016
07:07:51

Alex
16.11.2016
07:07:58

Dmitriy
16.11.2016
07:08:08
и там делают видимо для действия edit присваивание всем полям существующипе значения объекта

Alex
16.11.2016
07:08:23

johnny
16.11.2016
07:09:29

Alex
16.11.2016
07:09:40
В виртуалке заведи
Этого будет достаточно чтобы хотя бы знать как оно делается.

Google

johnny
16.11.2016
07:10:52

Alex
16.11.2016
07:11:03
? почему?

johnny
16.11.2016
07:12:39
? почему?
великий китайский фаервол часто не даёт то гемы установить, то докачаться что-то, а гитхаб он вообще презирает
а китайское зеркало репов убунты можно назвать разбитым зеркалом

Dmitriy
16.11.2016
07:21:42
def initialize(attributes = {})
unless attributes[:id].nil?
@post = Post.find(attributes[:id])
else
super(attributes)
end
end
кто подскажет что тут делает super(attributes) я понимаю, нужно читать документацию, но вот перерыл много и не могу найти ничего такого чтобы понять
если кому не трудно

Alex
16.11.2016
07:21:59
нужно смотреть родительский метод
super дергает метод с тем же названием из родителя
точнее будет сказать из предка.

Dmitriy
16.11.2016
07:22:27
тоесть инициализацию?
это код form object'a
ну часть его

Alex
16.11.2016
07:23:03
да инициализацию
определяя метод с тем же названием что и у родителя ты замещаешь метод выше. А его надо вызвать, поэтому ты дергаешь super

Dmitriy
16.11.2016
07:23:28
тоесть если он не найдет значений в атрибутах, то просто проиницализирует пустую форму

Alex
16.11.2016
07:23:48
Я не работал с форм объектом к сожалению.

Dmitriy
16.11.2016
07:23:50
ну выполнит инициализацию например из контроллера
а
ну всеравно спасибо

I
16.11.2016
07:24:13

Google

Dmitriy
16.11.2016
07:24:32
class PostForm
include Virtus
include ActiveModel::Model

Alex
16.11.2016
07:24:39

Dmitriy
16.11.2016
07:25:21
ну вот вызвал я action new в контроллере, и он отрендерил мы пустую новую форму с валидациями из form object'a

Alex
16.11.2016
07:25:51
да только твой form object контроллер при этом не дергает.

Dmitriy
16.11.2016
07:26:14
def new
@post_form = PostForm.new
end
дергает же

Alex
16.11.2016
07:26:34
Я все еще не вижу где PostForm дергает контроллер

Dmitriy
16.11.2016
07:27:02
а да точно
тогда возможно инициализация находится в ActiveModel::Model

Alex
16.11.2016
07:27:33
почему "возможно"?

Dmitriy
16.11.2016
07:28:18
потому что я пока не обладаю достаточным количеством знаний чтобы утверждать с уверенностью)

Alexander
16.11.2016
07:28:43

Alex
16.11.2016
07:28:58
Почему "возможно"?

0x58
16.11.2016
07:28:59

Alex
16.11.2016
07:29:03
почему бы не взять и просто проверить?

Alexander
16.11.2016
07:30:01

Alex
16.11.2016
07:30:08
А я не тебя спрашивал ))
Просто ты вмешался пока я с другим участником чата говорил

Dmitriy
16.11.2016
07:30:40
я понял)

Alexander
16.11.2016
07:30:41
А я не тебя спрашивал ))
а ты и не адресовал) я вот использую реплаи — это полезно, особенно в групповых чатах, советую, несложно.

Google

Dmitriy
16.11.2016
07:30:47
ману читать?)
как то можно открыть ActiveModel::Model
чтобы посмотреть прям в коде

Alexander
16.11.2016
07:31:12

Alex
16.11.2016
07:31:35
Узнать файл можно через binding.pry

Dmitriy
16.11.2016
07:31:56
ActiveModel это же не гем
?

Admin
ERROR: S client not available

Alex
16.11.2016
07:32:06
Это часть какого то гема.

Alexander
16.11.2016
07:32:10

Alex
16.11.2016
07:32:16
В пути к файлу будет понятно что за гем.

I
16.11.2016
07:32:37

Alexander
16.11.2016
07:32:49

Alex
16.11.2016
07:33:04
мне никогда не удавалось нормально читать апишку
Обычно с ней дольше разбираться чем с настоящим кодом.

I
16.11.2016
07:33:31
я за что люблю IDEA/Rubymine - можно просто взять и тут же по сорсам перейти, поставить туда точек остановки или логов

Alexander
16.11.2016
07:33:34

Rafkat
16.11.2016
07:33:38
Поставь Rubymine

Google

Alex
16.11.2016
07:33:39
Иногда конечно в нее лезу, например для aws-sdk, но там скудно по поводу той инфы что ты ищешь.
из разряда "как сделать так чтобы все работало но я ничего не знал"
и "когда навернется я не буду знать что делать"

Rafkat
16.11.2016
07:34:17
Cmd + click на супер

Alexander
16.11.2016
07:34:26

Rafkat
16.11.2016
07:34:31
Смотришь откуда

Alexander
16.11.2016
07:35:03

Alex
16.11.2016
07:35:12
кстати откуда рубимайн подтягивает руби для дефолтных таргетов? он подхватывает rvm?

Dmitriy
16.11.2016
07:35:22
блин

Alex
16.11.2016
07:35:26
у руби есть language server?

I
16.11.2016
07:35:39

Alex
16.11.2016
07:35:42
И через него смотри что за файл.
editor agnostic way.

I
16.11.2016
07:35:56
он подхватывает любые вещи, которые ты ему скажешь

Alexander
16.11.2016
07:36:00

Alex
16.11.2016
07:36:25
В какой то степени тоже что и rubocop

Alexander
16.11.2016
07:37:34