@rubyschool

Страница 845 из 921
Ro
26.09.2018
16:09:47
я скоро выкину ноут с окнаааааааа
скопируй пример откуда-нить, 1 в 1

наверняка в какой-то фигне ошибка

Kim
26.09.2018
16:11:51
как там тот сайт из курса назывался?

Eugene
26.09.2018
16:12:20
Java чем плох-требуют сидеть в оффисе, как правило. А по рельсам нет.
Чем плоха Джава: - type erasure вместо дженериков - verbose syntax - нет замыканий - требуют сидеть в оффисе

Google
Kim
26.09.2018
16:12:58
скопируй пример откуда-нить, 1 в 1
https://paste.ofcode.org/LKk38hpfHrmV6v2GuCYaKP

Там через simple_form

какая то дичь, никогда не было проблем

я уже думаю через js сделать. сил нет

через js работает

if (plan != null) { $('option[value="'+plan+'"]').attr('selected','selected') }

дендрофекальные технологии

Marina
26.09.2018
16:37:41
https://paste.ofcode.org/LKk38hpfHrmV6v2GuCYaKP
ну так у тебя selected: params[:plan]

Kim
26.09.2018
16:37:58
и

Marina
26.09.2018
16:38:09
когда в форме что-то неправильно, идет post запрос скорее всего уже без этого парамса

можно или руками пробросить этот парамс в пост урл, ну или через жс, да

Kim
26.09.2018
16:38:36
этот парамс уходит нормально в первый раз

но при возврате стр с ошибкой уже всё

Google
Kim
26.09.2018
16:39:02
я то через js сделал и считаю это костылем

просто чекбоксы то работают

не понимаю в чем разница

Marina
26.09.2018
16:39:22
да, потому что первый раз у тебя гет запрос с этим парамсом

а когда неправильно, у тебя рельсы рендерят страницу, без парамса

ну покажи самое начало формы с action

Kim
26.09.2018
16:40:03
ок, а откуда тогда берутся остальные значения?)

чекбоксы возвращаются

Marina
26.09.2018
16:40:17
из объекта

Kim
26.09.2018
16:40:19
все возвращается кроме selected

Marina
26.09.2018
16:40:39
можно просто вместо модели опенструкт подсовывать и так же будут значения рендерится

но парамсы это парамсы

можно будет пробросить этот парамс, если в урл формы написать что-то вроде plans_path(plan: params[:plan])

или в selected: указывать не парамс, а свойство объекта

Kim
26.09.2018
16:44:33
я решил через дата атрибуты

и так сишком много времени убил

вопрос почему так сложно такую простую вещь сделать)

Ro
26.09.2018
17:27:07
^ ты делаешь что-то не так, упустил деталь какую-то

обычно все должно быть просто. Ты последовал моему совету скопировать откуда-нибудь кусок кода?

зайди на гитхаб (залогинься) и введи  в поиске`select option form language:erb` (или других кеев добавь)

Google
Ro
26.09.2018
17:28:33
посмотри как остальные делают

(там надо будет переключить на вкладку code)

ну и теперь ты понимаешь за что программерам деньги платят?) вроде бы все просто, но есть иногда затыки. Искусственный интеллект работу не отберет, руби не умрет, порог входа есть - это тоже хорошо

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

GG
26.09.2018
17:47:50
Делаю домашку 28урока. Как правильно редиректить и передавать параметр? Попробовал return erb ...,:locals — не получилось. Инфы в инете нет или неправильный запрос делаю



Если страница статична, то вопроса нет, return erb ... и все гладко

Ro
26.09.2018
17:50:12
не помню точно, может redirect_to

"redirect to" как-то не очень естественно смотрится на мой взгляд)

попробуй накатить rubymine

возможно эти вещи он сможет подсказать

GG
26.09.2018
17:54:19
Валидация в кружке. Redirect_to выводит ошибку



Viktorija
26.09.2018
17:56:30
Делаю домашку 28урока. Как правильно редиректить и передавать параметр? Попробовал return erb ...,:locals — не получилось. Инфы в инете нет или неправильный запрос делаю
у меня тоже после валидации не редиректилось( точнее - или редирект работает но не выводит сообщение эррор или выводит эррор но не делает редирект

Vitaliy
26.09.2018
17:58:14
наверное ошибка в синтаксисе, если это rails то корректный метод redirect_to

GG
26.09.2018
17:58:26
Это синатра

Возможно в рейлс это делается проще, но задание именно по синатре

Google
Viktorija
26.09.2018
17:59:51
Как ты решила этот вопрос?
пока никак ( пробовала по разному... оставила просто редирект, без эррора (до выяснения)

Vitaliy
26.09.2018
18:00:00
Viktorija
26.09.2018
18:01:44
пробовала и редиректы и ретерны

Vitaliy
26.09.2018
18:01:46
Так же вижу что нет скобок



http://sinatrarb.com/intro

GG
26.09.2018
18:01:56
Почему где то redirect, а где то redirect to ?
Я по-разному пробовал:) ничего не помогает. Сейчас такой вариант. Но в данном случае они эквивалентны

Fedor
26.09.2018
18:08:52
Я по-разному пробовал:) ничего не помогает. Сейчас такой вариант. Но в данном случае они эквивалентны
redirect - это метод для абсолюнтного редиректа, которые подписывает http заголовок и ему надо передавать полный http гкд

Admin
ERROR: S client not available

Viktorija
26.09.2018
18:08:54
тут видимо дело не в скобках, после валидации должна возвращаться страница /details/:post_id + сообщение об ошибке... а это не получается сделать из-за :post_id... если б не оно, то было бы просто эррор + erb :details и все, а с :post_id так просто сделать нельзя... редирект вообще не очень подходит для этой задачи, имхо, тут нужен ретерн, а он ругается на пост айди

Fedor
26.09.2018
18:10:23
redirect to - это алиас для redirect_to, который принимает часть юрла и редиректит на юрл в рамках приложения

redirect to внутри себя вызывает redirect

а внутри redirect вызывается halt в который прокидываются параметры те же параметры что передаются в redirect после urla

https://github.com/sinatra/sinatra/blob/9590706ec6691520970c67b929776fd97d3c9ddd/lib/sinatra/base.rb

если посмотреть исходники синатры, то чаще чего передается просто код http ответа, но иногда еще и тело вторым аргументом (как в методе error)

попробуйте сделать redirect '/some/url', 500, 'Some error'

GG
26.09.2018
18:14:05
redirect to - это алиас для redirect_to, который принимает часть юрла и редиректит на юрл в рамках приложения
Это понимаю. В любом случае это не решает проблему передачи переменной в этуже страницу. Я раньше использовал вариант return :index и переменная была доступна после post. Так вот вопрос, как сделать return :index для динамично сформированой странице по id в бд и передать переменную об ошибке?

Fedor
26.09.2018
18:14:07
если я правильно понял, что вы хотите

ничего не понял

Google
Fedor
26.09.2018
18:14:47
redirect прерывает выполнения запроса и возвращает ответ клиенту

туда бесполезно прокидывать переменные, потому что после этого программа ничего не делает, а завершает свою работу

GG
26.09.2018
18:16:05


Viktorija
26.09.2018
18:16:41
Это понимаю. В любом случае это не решает проблему передачи переменной в этуже страницу. Я раньше использовал вариант return :index и переменная была доступна после post. Так вот вопрос, как сделать return :index для динамично сформированой странице по id в бд и передать переменную об ошибке?
только return не на :index а на /details/:post_id + сообщение об ошибке... что бы мы увидели - шапку сайта, ниже сообщение об ошибке, ниже все комменты для поста. у нас ведь одна и та же проблема? или я что-то не поняла?

Fedor
26.09.2018
18:17:20
обычно для этого надо вернуть json в котором будет лежать {form: { errors: {field1: 'error1'}}}

^^^ это для ошибок валидации в форме

GG
26.09.2018
18:17:48
Я попробовал и return :sample, :locals => {}

Не помогло. Возможно, не правильно использовал

Fedor
26.09.2018
18:19:07
ох...

смотрите, вам приходит форма в параметрах

Fedor
26.09.2018
18:20:14
вам нужно взять все эти параметры, добавить к ним список ошибок, и прокинуть в контроллер, который рисует форму (new или update)

и отрендерить форму с этими пармаетрами и ошибками

или просто отрендерить без редиректа

GG
26.09.2018
18:20:56
Вот

Fedor
26.09.2018
18:21:01
и код передать 422 вторым аргументом

GG
26.09.2018
18:21:03
Как это делается:)

Vitaliy
26.09.2018
18:21:58
Мне кажется или рельсы по сравнению с сенатрой более легкие в освоении ? ?

GG
26.09.2018
18:21:59
Как это делается:)
Сам принцип для меня понятен, но синтаксис для выполнения нет. Точнее, я его вообще не знаю. При этом не могу найти в доках это

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