
Nikolay
16.08.2016
20:47:09
в контенте кнопки есть save b dct
и все. откуда она это берет я хз
в локали ключа с таким значением нет

ojab
16.08.2016
20:49:05
Ключи у тебя http://apidock.com/rails/ActionView/Helpers/FormBuilder/submit так названы?

Google

Nikolay
16.08.2016
20:50:13
да
за лейблами, атрибутами оно бегает, а кнопки - никак
откуда берется этот 'save'
я без понятия
тьфу. нашел пропажу

Michael
17.08.2016
05:18:50
подскажите пожалуйста как избавится от N+1
/gisty
def movements_details
details = ''
@flight.movements.booked.each do |movement|
shipment = movement.shipment
details « "#{shipment.airline_code}-#{shipment.awb}" +
"#{shipment.origin.iata}#{shipment.destination.iata}/" +
"T#{movement.pieces}#{movement.weight_code}#{movement.weight}" +
"#{movement.volume_code}#{movement.volume}/" +
"#{shipment.commodity}/#{shipment.shc}\n"
end
details
end
правильно ли я понимаю, что @flight.movements.booked.eager_load(:shipment).each do |movement| решит мою проблему?

ojab
17.08.2016
05:26:34
ага

Michael
17.08.2016
05:28:38
можете еще подсказить
у меня есть shipment.origin.iata
shipment.destination.iata
origin и destination это Airport
как можно их тоже одним запросом загрузить
...
Airport Load (0.4ms) SELECT "airports".* FROM "airports" WHERE "airports"."id" = $1 LIMIT 1 [["id", 36]]
Airport Load (0.3ms) SELECT "airports".* FROM "airports" WHERE "airports"."id" = $1 LIMIT 1 [["id", 60]]

ojab
17.08.2016
05:29:14
я обычно eager_load и иже пишу сразу после модели, чтобы не было возможности сделать что-то в духе @flight.movements.first.eager_load(:shipment)

Google

Michael
17.08.2016
05:30:43
ну у модели Shipment есть
belongs_to :origin, class_name: Airport, foreign_key: :origin_id
belongs_to :destination, class_name: Airport, foreign_key: :destination_id
нормально ли вообще что в методе выше, я обращаюсь к аэропортам два раза? один раз что бы получить shipment.origin.iata и второй раз что бы получить shipment.destination.iata

ojab
17.08.2016
05:32:45
если сделаешь eager_load — будешь обращаться ноль раз

Michael
17.08.2016
05:33:53
я просто не совсем понимаю, где и как мне использовать eager_load для аэропортов

ojab
17.08.2016
05:34:10
.eager_load(:origin, :destination)
рельсы сами поймут что как джойнить

Michael
17.08.2016
05:35:41
а где использовать?
аэропорты только у shipment
тут @flight.movements.booked.eager_load(:shipment).each do |movement| я так понимаю нет возможность

ojab
17.08.2016
05:38:25
@flight.eager_load(shipment: [:origin, :destination]), но чото я доку по синтаксису не нахожу
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html -> Eager loading of associations

Michael
17.08.2016
05:39:28
ооо, спасибо, что то я не подумал о таком синтаксисе
Спасибо большое

Konstantin
17.08.2016
06:23:31
https://github.com/rubygems/rubygems/pull/1685#issuecomment-240323866 пиздец они забавные
церемониал
а еще они до сих пор поддерживают 1.8.7

Антон
17.08.2016
08:29:31
вот у меня функциональное покрытие ~90%
сел вчера интеграционные писать на сложный узел - проклял все, но зато 2 бага нашел
узел функционально покрыт на 100%
сплю спокойно кстати

Google

Evgeny
17.08.2016
08:36:00
Антон, ты капибару юзаешь? А то я начал только тоже недавно относительно, теперь не знаю как едино писать везде, например стандартный get в капибаре visit и тот же response и page. Кстати капибару взял только из-за того, что не смог на рппеке залогинется, пример post email, password все время инвалид выдавал, а капибара зашла норм. А щас наоборот она сволоч не видет не вкакую have_link ппц

Антон
17.08.2016
08:37:20
save_and_open_page
а то там линки может и не быть

Evgeny
17.08.2016
08:39:05
Дак там стандартная сгенерированная вьюха, там они 100% есть, have content видит текст, а ссылок к этому контенку нет, как такое возможно)

Антон
17.08.2016
08:40:07
я вчера тоже так думал, только баг закрался

Evgeny
17.08.2016
08:40:34
хм)

Антон
17.08.2016
08:41:04
или открыть в браузере, на вкус и цвет

Evgeny
17.08.2016
08:41:20
В браузере все ок
Что залогинен что нет, ссылки пока не убрал

Антон
17.08.2016
08:43:06
save_and_open прямо перед expect have_link?

Evgeny
17.08.2016
08:43:45
Нет еще не пробовал, щас сек
Вот я лол)

Evgeny
17.08.2016
08:46:29
Конечно ничего нет, собственно контента и нет...
Спс чувак)

Антон
17.08.2016
08:46:46
велкамен, я вчера тоже был лол :)

Evgeny
17.08.2016
08:47:56
Вопрос еще актуальный на счет get и visit, ты тоже все вместе используешь или что-то одно?
А то везде по -разному не хочу

Антон
17.08.2016
08:48:17
visit

ojab
17.08.2016
08:48:17
visit для feature, get для request

Антон
17.08.2016
08:48:56
реквесты да, тоже много нового говрят о разработчиках

Google

mardybm
17.08.2016
08:50:05
я гет в контроллер тестах юзаю

ojab
17.08.2016
08:50:52
visit — надстройка над get, которая ходит по редиректам, короче говоря

Антон
17.08.2016
08:52:09
кароче у ojab все спрашивайте, мне не комфортно рядом, слишком яркий свет

Evgeny
17.08.2016
08:52:09
Я начал делать тест контроллера и потом понял, что это ваще тест request и щас перенес все в него. В контроллерах чисто проверку экшенов делают на предмет только функционирования верно? А всякие successs render_template status_code хождение по формам в реквестах, все верно?

ojab
17.08.2016
08:52:10
(если используется дефолтный driver :rack_test)

Evgeny
17.08.2016
08:52:24
Я его уже в другом чате доканал)

ojab
17.08.2016
08:52:47
А зачем тебе вообще тестировать action'ы?

Evgeny
17.08.2016
08:53:28
Я хз, все тестирую подряд

Admin
ERROR: S client not available

Nikolay
17.08.2016
08:53:41

ojab
17.08.2016
08:53:44
если action кто-то тупо удалит, например — отвалится request spec
и будет видно где проблема
хождение по формам — feature
если подразумевается использование браузера — feature, если подразумевается использование в виде API — request

Evgeny
17.08.2016
08:54:59
Ну пример с аутентификацией с офф доки в request
а вот оно че

ojab
17.08.2016
08:55:59
гм

Evgeny
17.08.2016
08:56:07
feature прямо должны подразумевать, что он запустится через driver selenium верно?

Google

ojab
17.08.2016
08:56:09

Evgeny
17.08.2016
08:57:21
Явно не в этой)))) Я начал свое изучение с этой страницы https://github.com/rspec/rspec-rails
От туда и брал первые тесты и переделывал

Nikolay
17.08.2016
08:58:02
RSpec for Rails-3+ http://relishapp.com/rspec/rspec-rails
лололо
как бы в той, в том %_

Evgeny
17.08.2016
08:58:42
В смысле куски
?

Nikolay
17.08.2016
08:59:56
в смысле репа - от книжки

mardybm
17.08.2016
09:00:07
чот я не прочувствовал разницу между request и controller спеками

ojab
17.08.2016
09:00:09
commit 6a87a0ba40f610e3f119b0d55226a268b9ff3540
Author: David Chelimsky <dchelimsky@gmail.com>
Date: 2011-12-20 23:06:18 -0600
beef up README section on Request Specs
README.md слегка устарело

Nikolay
17.08.2016
09:01:25
Аминь!

I
17.08.2016
09:36:38
http://stackoverflow.com/questions/37341967/rails-5-undefined-method-for-for-devise-on-line-devise-parameter-sanitizer
Теперь permit

Stanislav
17.08.2016
09:37:06
в последнем девайзе поменяли же
через permit нынче
Remove the deprecated Devise::ParameterSanitizer API from Devise 3. Please use the #permit and #sanitize methods over #for.

Nursultan
17.08.2016
09:38:40
ок
спс
не знал
давно это поменяли?