@rubylang

Страница 196 из 1684
ojab
13.07.2016
14:36:41
там уж так разжёвано)
но там же в самом начале ошибки >Следует понимать, что при этом блок является особой конструкцией языка и обособлен от списка явных аргументов метода

Иван
13.07.2016
14:36:46
но ведь блок можно передать методу

ojab
13.07.2016
14:36:47
в gist'e он не обособлен

Mikhail
13.07.2016
14:36:50
ну это я вкурсе

Google
Иван
13.07.2016
14:37:00
он становиться обжектом только внутри метода

Mikhail
13.07.2016
14:37:02
ну я блок и не рассматривал как сущность. Это конструкция

Иван
13.07.2016
14:37:02
вроде

trickster
13.07.2016
14:37:04
while keyword?

Mikhail
13.07.2016
14:37:07
да

trickster
13.07.2016
14:37:12
keyword вроде как тоже не обджект

Mikhail
13.07.2016
14:37:33
он внутри прока обдж становится

а статья классная. Вроде не родная. На хабре видел

или где то в другом техноблоге)

Короче это не о чем стоит думать.

но то что блоки везде и всюду это да

Иван
13.07.2016
14:40:15
методы это объекты?

Mikhail
13.07.2016
14:40:46
метод это метод

Google
ojab
13.07.2016
14:40:56
>Основное и принципиальное отличие блока от метода в том, что первый имеет доступ к переменным, объявленным до него во внешнем окружении.

whaaaaa

https://gist.github.com/ojab/6f7539deed563cacaa51e673077f679a

где мои переменные

Mikhail
13.07.2016
14:41:56
лол

ojab
13.07.2016
14:42:04
а, первый

Mikhail
13.07.2016
14:42:08
это че за ужс

ojab
13.07.2016
14:42:09
ок

Mikhail
13.07.2016
14:42:23
пошел толстый троллинг

trickster
13.07.2016
14:42:34
к чему гист -то )

Mikhail
13.07.2016
14:42:34
где тут стикер петросяна

нету(

ojab
13.07.2016
14:42:46
это я криво прочитал

гист можно игнорировать

Mikhail
13.07.2016
14:43:00
почему

гистгист

Иван
13.07.2016
14:43:33
но метод тоже можно преобразовать в объект

ojab
13.07.2016
14:44:33
короче я нихера не понял что статья пытается сказать в разделе »Почему блок нельзя считать анонимным методом? >Внешние переменные

>:001 > for i in [1, 2, 3] do >:002 > print i >:003?> end >123 => [1, 2, 3]

oh wow

Google
ojab
13.07.2016
14:46:17
such python

Mikhail
13.07.2016
14:46:42
короче смотри грязный тестик TRAILBLAIZER DRY-VALIDATION Started POST "/vacancies" for ::1 at 2016-07-12 04:43:49 +0600 Processing by Web::VacanciesController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"7smXf9B94tfvPZLofWAEmoo24LwCkFuMUDbgu3laGWV5fZyxXmaSVz5m9s9ZBvMVuD/+0lmL8gaBMPxuQdspYg==", "vacancy"=>{"title"=>"", "description"=>""}, "commit"=>"Создать Vacancy"} Rendering web/vacancies/new.html.haml within layouts/application Rendered web/vacancies/new.html.haml within layouts/application (8.7ms) Rendered application/_navbar.html.haml (8.8ms) Completed 200 OK in 50ms (Views: 46.6ms | ActiveRecord: 0.0ms)

CLASSIC RAILS + STRONG + ACTIVEMODEL (valid?) Started POST "/vacancies" for ::1 at 2016-07-12 05:06:15 +0600 Processing by Web::VacanciesController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"wEVVSG/41rM1SAH1B8/zNcYvD8JmNbUvLC88O99CrLJX8V6G4eOmM+QTZdIjqQS69CYRrD0uHKX9KSDu58OctQ==", "vacancy"=>{"title"=>"", "description"=>""}, "commit"=>"Создать Vacancy"} Rendering web/vacancies/new.html.haml within layouts/application Rendered web/vacancies/new.html.haml within layouts/application (10.4ms) Rendered application/_navbar.html.haml (16.1ms) Completed 200 OK in 69ms (Views: 66.6ms | ActiveRecord: 0.0ms)

2 поля в форме

просто проверка на валидацию. С чистым кэшем и перезагрузкой сервера.

вот дольше отрабатывает даже на малом запросе

ojab
13.07.2016
14:48:53
код тестика в студию (на гитхуб)

Mikhail
13.07.2016
14:49:03
охххх

ща попробую собрать

I
13.07.2016
14:49:13
о чем демагогия, господа?

Mikhail
13.07.2016
14:49:51
ты хочешь чтобы я перетащил сюда дефолт с трайлблейзер доков

?

Mikhail
13.07.2016
14:50:05
ща проще

[v

почему не аплоадит

во

------ Класс блейзер class Vacancy < ApplicationRecord class Create < Trailblazer::Operation include Model model Vacancy, :create contract do property :title property :description validates :title, presence: true validates :description, presence: true end def process(params) validate(params[:vacancy]) do contract.save end end end end

class Web::VacanciesController < ::Web::BaseController # GET /vacancies/new def new form Vacancy::Create end # POST /vacancies def create run Vacancy::Create do |op| return render json: op.model end render action: :new end end Это на блейзер

вот классический рельс

class Web::VacanciesController < ::Web::BaseController # GET /vacancies/new def new @form = Vacancy.new end # POST /vacancies def create @form = Vacancy.new(vacancy_params) if @form.valid? && @form.save render json: @form else render :new end end private def vacancy_params params.require(:vacancy).permit(:title, :description) end end

Google
Mikhail
13.07.2016
14:54:08
под стронги добавил as: :vacancy

оу

в первом не драй код)

Admin
ERROR: S client not available

Mikhail
13.07.2016
14:54:28
ща в гист

ojab https://gist.github.com/CapeRatel/63a6f0999e2e1d238c572a151c70b6ce

падет так?

ojab
13.07.2016
14:57:33
смотрю

Mikhail
13.07.2016
14:58:52
как то так

я читал что стронги дают косяк

задерживают

но тут попробовал както удивился что на таком простом

Иван
13.07.2016
14:59:43
а о чем разговор, я чего то нить потерял

Mikhail
13.07.2016
15:00:07
разговор что стронг парамы на простом запросе дают задержку

при классическом тыкании рельс без форм обджекта

ojab
13.07.2016
15:00:53
if @form.valid? && @form.save

Mikhail
13.07.2016
15:01:00
да

потому что если ты будешь юзать @form.save

ojab
13.07.2016
15:01:13
@form.save is enough

Mikhail
13.07.2016
15:01:14
он активрекод дернет

Google
Mikhail
13.07.2016
15:01:18
ща покажу

CLASSIC RAILS, STRONG PARAMS + ACTIVE MODEL Started POST "/vacancies" for ::1 at 2016-07-12 04:57:00 +0600 Processing by Web::VacanciesController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"cpBxbDl3RfK8fi+Lfpup/A+DHSCCrm25ZzZ9zmtEoh3lJHqit2w1cm0lS6xa/V5zPYoDTtm1xDO2MGEbU8WSGg==", "vacancy"=>{"title"=>"", "description"=>""}, "commit"=>"Создать Vacancy"} (0.1ms) BEGIN (0.2ms) ROLLBACK Rendering web/vacancies/new.html.haml within layouts/application Rendered web/vacancies/new.html.haml within layouts/application (12.1ms) Rendered application/_navbar.html.haml (6.8ms) Completed 200 OK in 80ms (Views: 76.0ms | ActiveRecord: 0.3ms)

вон видишь 0.3

а если valid ставить то не будет

=)

это я для чистоты валид добавил

потому что блейзер валидирует сначало потом пробует сохранить

но разница между dry и активмодел в блейзере не ощутимая

где то 5-6мс

поэтому по привычке можно юзать active model

ну это не на че не претендует естественно

trickster
13.07.2016
15:05:46
гаез

где можно почитать за form object && service object

Иван
13.07.2016
15:06:21
вот про сервисы яб тоже посмотрел

Страница 196 из 1684