Все уже украдено до нас.. Ой не от туда:) Все уже было в Симпсонах. Опять не то. Все уже придумано до нас! Так что, как говорил один великий педагог: а вы, вам, вот, вам английский язык. Выучить от сих до сих. Приеду - проверю. Если не выучите, мо... Так что берем очередные 10 функций, методов, ключевых слов и тд. из великого и могучего руби и изучаем.
в том случае когда я не уверен в начале строки ставлю "?" вот допустим в 4 пункте нужно проконсультироваться с коллегами.
?4) request что то типа глобального массива $_REQUEST в PHP, ну тут не массив а объект. Например request.inspect выдаст кучу переменных экземпляра класса и их значения(?) "REQUEST_METHOD"=>"GET" что бы получит содержимое определенной переменной мы пишем request.request_method. или текущий url request.original_url. Возник вопрос как посмотреть все имена переменных в экземпляре класса request? Сначала подумал что просто что бы получить содержимое переменной нужно просто в нижнем регистре указываем имя типа "REQUEST_METHOD=>request_method но все оказалось намного сложнее, так как в request.inspect "REQUEST_METHOD=>request_method есть, а вот original_url уже нет, и поэтому ставим знак вопроса перед 4 пунктом.
5) Что значит два двоеточия в ruby? для примера :
Мы можем получить доступ к константам и методам класса из любого места в не класса. для @var6 равнозначно будет @var6=User.new.mykonst
6) сразу разберем 2 пункта, операторы find и использование циклов в руби.
В начале изучения руби выполнял видео урок где реализовывали добавления постов на сайт, и комментариев. Объект Post таблица приведенная ниже
рассмотрим метод find, он получает в качестве параметра первичный ключ(id)
и возвращает одну или несколько строчек. Которые выше в массиве(для мы разбираем) хотя можно сделать и так:
?7) вот тут я еще не разобрался, но так как этот сайт мои размышления, мой черновик для себя пишу:
прям виляю хвостом из за того что в руби можно использовать понятные для меня конструкции, для новичка это очень хорошо find_by_sql супер. но вот в чем загвостка, это ответ [#<Post id: nil, title: "оки токи">] а именно Post id: nil , оно нашло нужную мне строчку по id=13, но при создании таблицы поля id не было. выше приведен кусок кода из файла schema.rb. так как я еще не знаю как подключиться через к базе проекта и посмотреть что там для меня это загадка, возможно руби сам создает поле id если мы не указали это явно.
8) метод where по сути все что должно быть правее where в sql запросе
9)has_many и belongs_to рассмотрим одним вопросом. Начал изучение руби я с просмотра видео уроков вот этих парней https://www.youtube.com/watch?v=LAFjA76huC4 что и всем совету. В моделях у Post у меня прописано has_many :comments у Comment belongs_to :post и запросто можно выполнить подобный код:
то есть из объекта Post мы можем получить доступ с помощью метода comments к комментариям определенного поста и из любого комментария доступ к посту для которого этот комментарий был создан. закомментируем в Comment.rb belongs_to :post 1 строчка работает, 2 строчка выдаст ошибку undefined method `post' . И на оборот.
10)Что такое attr accessor в Ruby, аксессор в руби. Короче небольшое упрощение при работе с классами на мой взгляд. Представленный ниже код будет работать хотя в классе User у нас нет метода name который позволяет записать в переменную name и прочитать из нее.
ну и вишенкой на торте для меня стало что эти две строчки можно заменить attr_accessor:name
11) комментарии в руби. что бы закомментировать блок кода нужно с начала строки(без пробелов перед) написать =begin и по так же с начала строки где наш комментарий заканчивается =end для того что бы закомментировать строку используем символ #
вопросы на будущее:
где в руби подключаем базу? self практическая польза.
полезная информация:
http://rusrails.ru/ изучаешь руби добавь сайт в закладки:)
https://www.youtube.com/watch?v=LAFjA76huC4 для начала посмотри эти уроки, хоть какое то понимание будет.