Задать вопрос
Контакты

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (16)

Лучшие ответы пользователя

Все ответы (44)
  • Стоит ли учить Ruby и Rails в 2016 году?

    Стоит ли учить язык Ruby и фреймворк Ruby on Rails в 2016 году?


    Зависит от ваших целей. Лично мне было просто интересно изучать этот язык и мне он нравится.

    В мире PHP активно развивается много отличных фреймворков и библиотек. В JavaScript вообще каждый день революция, новые подходы и фреймворки растут как грибы после дождя.
    А вот про Ruby и Ruby on Rails давно ничего не слышно.


    В мире Ruby тоже есть неплохие библиотеки и фреймворки. Например, hanami (hanamirb.org) или занимательный volt (https://github.com/voltrb/volt) у которого как на клиенте, так и на сервере используется ruby код. Правда Rails довольно сильно притягивает всех своей гравитацией, к слову, в этом месяце обещали релизнуть Rails 5 с поддержкой общения с клиентом через websocket — ждём-с.

    В целом, ещё Ruby используется для Chef (автоматизация серверов), homebrew (пакетный менеджер в маках), cocoapods для разработки OS X приложений, vagrant для управления виртуальными машинами разработки, jekyll/middleman/octopress — для генерации статических сайтов, известные sass/scss тоже на ruby, хоть теперь уже и есть реализации на других языках.

    Ещё, сравнительно недавно вылез на стол и начал танцевать, соблазняя возможностью компиляции кода — руби-косплеер Crystal (https://github.com/crystal-lang/crystal). И есть RubyMotion — фреймворк для создания OS X/iOS/Android приложений на Ruby (www.rubymotion.com).

    Тут можно посмотреть список популярных библиотек — https://github.com/markets/awesome-ruby

    В общем, смотрите сами. Да, язык сейчас не на вершине волны, но он развивается и говорить о смерти пациента рано.
    Ответ написан
    4 комментария
  • Как использовать логические операторы в запросах where в rails?

    Что-то в таком духе.

    @posts = Post.where(user_id:123).includes(:comments).where("comments.created_at IN (?) OR comments.updated_at IN (?)", Time.zone.today...Time.zone.tomorrow, Time.zone.today...Time.zone.tomorrow)


    Нативная возможность использовать логический оператор OR в ActiveRecord существует в Rails 5.

    https://github.com/rails/rails/pull/16052
    https://github.com/rails/rails/blob/aa3acf85cb/act...

    Post.where(id: 1).or(Post.where(id: 2))
    Ответ написан
    Комментировать
  • Как отлавливать все внутренние исключения фреймворка RoR?

    По поводу предков, используя метод ancestors можно выдвинуть предположение, что конкретно у ActionController::RoutingError базовый рельсовый класс ActionController::ActionControllerError (который уже восходит к рубишному StandardError).

    2.3.1 :029 > ActionController::RoutingError.ancestors
     => [ActionController::RoutingError, 
    ActionController::ActionControllerError, 
    StandardError, Exception, ActiveSupport::Dependencies::Blamable, 
    Object, PP::ObjectMixin, ActiveSupport::Dependencies::Loadable, 
    V8::Conversion::Object, 
    JSON::Ext::Generator::GeneratorMethods::Object, 
    Kernel, 
    BasicObject]


    Но я уверен, что у других компонентов Rails есть свои родительские exception-классы, а может даже и не один. Например, у ActiveRecord есть ActiveRecord::ActiveRecordError.
    Возможно вам придётся пройтись по исходникам рельсы и поискать классы, наследующиеся от StandardError.
    Ответ написан
    Комментировать
  • Как в Ruby on Rails проекте дать возможность ничего не удалять?

    Можно использовать гем — https://github.com/rubysherpas/paranoia . Либо реализовать самому, как предложил badcluster.
    Ответ написан
    Комментировать
  • Как сделать отображение flash success?

    ...
    redirect_to @post, :success => "Post was successfully updated"
    ...


    В таком виде redirect_to работает только с alert и notice. Если нужен именно success, то оборачивайте в flash: { success: "Post was successfully updated" }.


    It is also possible to assign a flash message as part of the redirection. There are two special accessors for the commonly used flash names alert and notice as well as a general purpose flash bucket

    api.rubyonrails.org/classes/ActionController/Redir...
    Ответ написан
    1 комментарий