Size: a a a

Чат руби-школы

2020 March 21

OE

Orko Elvis in Чат руби-школы
Vsevolod Avramov
Да точно TestResponse.
Тогда всё-таки может проблема с контекстом?
Вместо этого subject { controller.send :handle_access_denied, exception }
Написать это:
class DummyController < ApplicationController
 def index
   handle_access_denied(StandardError.new)
 end
end

before do
 Rails.application.routes.draw do
   resource :dummy
 end
end

get :show

Вообще я бы тестировал существующий экшен для проверки handle_access_denied
нет, так нельзя
источник

И

Иван in Чат руби-школы
Orko Elvis
нет, так нельзя
че то тест странный у тебя. стаб логера совершенно бесполезен, ты его создаешь и вызваешь метод на нем прямо в тесте, а ошибка скорее всего из за того что не было реального запроса, но ты пытаешься отрендерить вьюху.
источник

OE

Orko Elvis in Чат руби-школы
Иван да я уже удалил все ето, сделал как говорил @VsevolodAvramov, но через анонимный контроллер
источник

OE

Orko Elvis in Чат руби-школы
@VsevolodAvramov спасибо тебе
источник

И

Иван in Чат руби-школы
да, через анонимный как то получше, и можно создать 2 анонимных контроллера, один наследовать от application второй от session, тем самым проверить эту часть - is_a?(SessionsController)
источник

И

Иван in Чат руби-школы
можно конечно и застабить
источник

OE

Orko Elvis in Чат руби-школы
Иван мне эти стабы и моки еще учить и учить
источник

КП

Кот Программист in Чат руби-школы
Всем привет! Кто-нибудь читал книжку "agile web development with rails #{part}" ? Есть вопрос для знатоков, я слышал что в этой книге есть так называемые общепринятные в сообществе rails-разработчиков rails conventions я пробовал как-то искать эти соглашения, нашел только статью http://rubyglasses.blogspot.com/2007/08/actsasgoodstyle.html.
И так, мой пример - представим что у нас есть таблица
| Name      | Color   | Weight   | Speed   |
|---------  |-------  |--------  |-------  |
| Tesla     | Red     | 2200     | 240     |
| Juaguar   | Blue    | 2800     | 260     |
| Vaz       | brown   | 1400     | 100     |
Здесь мы имеет нормализованную таблицу и по всей логике вещей Name определяет строку и является единственный кондидатом на первичный ключ который может быть уникальным индентификатором записи в таблице. Считается что есть два принципиально разных подхода к выбору первичного ключа - это ествественный клюк как в примере выше, и искуственный ключ как это обычно бывает в rails в виде поля ID. Кто-нибудь знает откуда в ruby сложилось использование искуственного варианта первичного ключа, есть ли об этом так назваемая conventions и почему принято делать так?
источник

MA

Michael Ark in Чат руби-школы
У тебя было два кластера, за каждым из них идентичная таблица. Наступает день, и тебе их надо слить, без потери ID. Как ты это сделаешь?
источник

VE

Vitaliy Emeliyantsev in Чат руби-школы
Кот Программист
Всем привет! Кто-нибудь читал книжку "agile web development with rails #{part}" ? Есть вопрос для знатоков, я слышал что в этой книге есть так называемые общепринятные в сообществе rails-разработчиков rails conventions я пробовал как-то искать эти соглашения, нашел только статью http://rubyglasses.blogspot.com/2007/08/actsasgoodstyle.html.
И так, мой пример - представим что у нас есть таблица
| Name      | Color   | Weight   | Speed   |
|---------  |-------  |--------  |-------  |
| Tesla     | Red     | 2200     | 240     |
| Juaguar   | Blue    | 2800     | 260     |
| Vaz       | brown   | 1400     | 100     |
Здесь мы имеет нормализованную таблицу и по всей логике вещей Name определяет строку и является единственный кондидатом на первичный ключ который может быть уникальным индентификатором записи в таблице. Считается что есть два принципиально разных подхода к выбору первичного ключа - это ествественный клюк как в примере выше, и искуственный ключ как это обычно бывает в rails в виде поля ID. Кто-нибудь знает откуда в ruby сложилось использование искуственного варианта первичного ключа, есть ли об этом так назваемая conventions и почему принято делать так?
На практике безумно редко бывают случаи, когда какое-то значение в таблице однозначно определяет запись и может являться первичным ключом. За мои 7 лет практики я встречал такое лишь один раз.
источник

MA

Michael Ark in Чат руби-школы
ID используется в PET или совсем мелкий проектах. А так, если говорить о том как сложилось - для идентификатора обычно UUID, используется
источник

MA

Michael Ark in Чат руби-школы
В любом случае, руби тут не причем. Если речь идет о уникальном идентификаторе, тебе нужен ключ, который будет это обеспечивать. Сегодня, твой Name контент уникальный, Завтра появится две Tesla с разной скоростью - молодец, ты выстрелил себе в ногу .]
источник

КП

Кот Программист in Чат руби-школы
Michael Ark
У тебя было два кластера, за каждым из них идентичная таблица. Наступает день, и тебе их надо слить, без потери ID. Как ты это сделаешь?
А значения разные? т.е. не повторяются? или вся уникальность значений ограничена только исскуственным ключем ID?
источник

MA

Michael Ark in Чат руби-школы
Конечно разные, на 90%, они же живут своей жизнью. Но идею думаю ты понял.
источник

MA

Michael Ark in Чат руби-школы
Со вторым примером думаю понятнее
источник

КП

Кот Программист in Чат руби-школы
Michael Ark
В любом случае, руби тут не причем. Если речь идет о уникальном идентификаторе, тебе нужен ключ, который будет это обеспечивать. Сегодня, твой Name контент уникальный, Завтра появится две Tesla с разной скоростью - молодец, ты выстрелил себе в ногу .]
ну пример с Tesla очень упрощен, можно же было создать tesla-85, -90, etc так как у них и делается в маркетинге, но я так понимаю действительно где-то на крупных базах данных используют уникальный идентификатор товара, он же как я понимаю UUID, но его применение я видел наверно всего один раз, тем не менее это все ещё ествественный ключ vs искуственный
источник

КП

Кот Программист in Чат руби-школы
в принципе я понимаю смысл этого когда мы имеем ужас фабрики как в ikea когда есть 10-яток товаров с одним именем и нет ни одного поля которое бы состовляло уникальное значение, потому что товары могут отличаться просто комплектацией (+ одна полочка и т.д.) и тогда uuid идеальное решение
источник

MA

Michael Ark in Чат руби-школы
Любишь же ты придумывать велосипеды .D «Не буду ID пользоваться, буду их добавлять к названию!» Начет UUID не прав, уверен огромное кол-во кейсов расписано на каком-то медиуме по сотне раз.
источник

MA

Michael Ark in Чат руби-школы
Когда твой объект обслуживается другими объектами, ты не представляешь как быстро дуются базы
источник

MA

Michael Ark in Чат руби-школы
Есть баланс, но нам нужна горизонтальная статистика по нему, у тебя появляются транзакции и хлоп
источник