например было:
стало:
где создание экземпляра класса вынесли
# Gear нужна «утка», знающая diameter
но это прям идеально, поэтому переходим к изоляции зависимостей.
например было:
стало:
где создание экземпляра класса вынесли
# Gear нужна «утка», знающая diameter
но это прям идеально, поэтому переходим к изоляции зависимостей.
рендерим на вью с именем main которая относиться к нашему контроллеру, передаем переменню, в вью вызываем ее по имени без использовать вью из другово контроллера render
можно передавать заголовки, была ошибка в консоле, пока не разобрался как например сделать что бы страница выдала 404, или ее нужно самому написать и на нее рендернуться? в консоле будет заголовок с нужным статусом
Партиалы
партиал будет _footer, и да партиал рендерим во вьюхе
вот что бы что то туда передать
на досуге поищи информацию про макеты во вью, не использовал и что такое не заню
макеты
Для демонстрации работы вставить код в routes.rb и вызвать несуществующий адрес, приложение падает в ошибку, выводя таблицу роутов, еще можно "rails routes" в консоле.
resources объявляет маршруты для всех всех экшенов(index, show, new, edit, create, update, destroy)
ограничить количество маршрутов, не для всех экшенов, можно
Добавить маршрут к коллекции
Пространство имен
если привести пример из жизни маршруты для кода в директории admin
если в url нам не нужен админ, но в адресе к контроллеру мы его оставляем то
и на оборот, в url admin/articles а контроллер articles
Вырезает заданное вторым аргументом число символов слева из строки, являющейся первым аргументом. а вообще не могли открыть гиганский фалик в екселе, файлик был с csv. загрузили его в базу, одно текстовое поле в котором данные как бы и нужны но не в полном объеме обрезали, и выгрузили в ексель
а еще нехер выпендриваться, залез покататься на лошадку, думаю такой крутой и но но, а она понесла, охерел:) это я к чему? риск должен быть оправдан? :)
Decorator ...
Нужно сделать из большой таблички выборку. и через ActiveRecord получилось дольше, будем тут разбирать.
1) как сгенерить табличку с рандомными данными
2) запрос sql
3) варианты через ActiveRecord
4) что по оптимизации и кешированию в ActiveRecord?
Статья будет дополняться, по мере разбора новых связей.
и прям очередной мой стыд, чем отличается has_one от belongs_to а тем что в первом случае id со связью не в нашей таблице, а во второй id со связью в нашей.
милочка а вы знали что яйца чернеют от серебра?
век живи, век учись сказал поручик ржевский и предложил серебренный портсигар из кармана штанов в мундир.
создадим все по юзеру, у него будет связь один ко многим с заказами и один к одному с адресами.
!!! основное что нужно запомнить в таблицах с которыми мы создаем связь поле для связи через id должно называться имени таблицы с которой связываем подчеркивание id
связь один ко многим юзера с товаром
связь один ко ко дному юзера с адресом, однонаправленная
Адрес знает о одном своем юзере, но абратное не верно, если уже совсем просто в модели юзера нет никаих упоминаней об адресе, вот и ничего и не знаем(ниже мы все закаментили)
связь один ко ко дному юзера с адресом, в обе стороны
связь один ко ко дному юзера с адресом, один ко многим
class_exec выполнит блок для класса, class_eval строчку кода
%q{attr_reader(*attrs)}
subclass.class_eval str
instance_exec тоже для экземпляра класса принимает блок который может содержать аргумент, instance_eval содержит строку или блок но без аргумента.
в консольке пишем ruby demo.rb где:
demo.rb
base.rb
class1.rb
class2.rb
data.json
prepend MyModuleOne подключенный метод будет иметь высший приоритет при наследовании
include MyModuleOne подключаемый метод имеет приоритет меньше метода который вызываем на экземпляре
super вызовет родительский метод если он есть. честно пока не понял где может такое пригодиться.
ancestors посмотреть цепочку и порядок наследования класса, не экземпляра а именно класса.