Ответы пользователя по тегу Ruby on Rails
  • Какой стек технологий выбрать для сайта-портфолио: RoR vs. Wordpress?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    Не думаю, что для сайта портфолио нужно целое рор приложение.
    От себя крайне рекомендую сделать это на Jekyll + Sinatra.
    Если рамки концепции первого мешают - можно просто на синатре.
    Если вы хорошо знаете сам руби то сложностей не будет вообще.

    А так - конечно же любая CMS это самый простой вариант, так как необходимый Вам функционал очень стандартный и тривиальный.
    Ответ написан
    7 комментариев
  • Как на RoR обновить поле в БД по нажатию на ссылку?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    Ну смотрите. Скорее всего у Вас есть экшн update для my_table. В нем написано что-то типа
    @my_table.update_params(allowed_params)

    напишем полностью для наглядности:
    @my_table.update_params(params.require(:my_table).permit(:my_field, :my_field2)


    То-есть, когда поступает patch запрос в этот экшн, то ему разрешены такие атрибуты как my_field и my_field2.
    Теперь задача проще. Отправить patch запрос с такими нужными атрибутами.
    В нашем случае, запрос нужно отправить при помощи link_to. Чтож, идем в офф документацию, ищем link_to.
    Читаем все внимательно и находим строчку:
    link_to can also produce links with anchors or query strings:

    и ниже видим код примера:
    link_to "Nonsense search", searches_path(foo: "bar", baz: "quux")
    # => <a href="/searches?foo=bar&amp;baz=quux">Nonsense search</a>


    остается за малым! пишем
    = link_to 'increment', my_table_path(my_table, my_table: {my_field: my_table.my_field + 1}), method: :patch, data: {confirm: 'Вы уверены?'}


    Но в таком способе решения есть небольшие подводные камни, поэтому к нему лучше прикрутить ajax. Это тоже просто, нужно всего-лишь немного траффика и великолепное приложение - google.com
    Ответ написан
    Комментировать
  • Какие задачи можете посоветовать руби программисту по уровням сложности?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    "От начала" понятие растяжимое. По мне так не очень интересно тратить время на не интересные задачи. Как делал я:
    Прочитайте RubyMonk'a(до метапрограммирования)(!)
    Идете на Codewars.
    Открываете там задачи полегче, открываете параллельно что-то типа такого overapi.com/ruby и пытаетесь найти решение. Пусть оно будет мегагромадым, не логичным и длинным, потом можно будет посмотреть множество решений других людей, которые порой поражают, и после каждой задачи возникает чувство "а что, так можно было? Руби, ты крут!" :)
    Ответ написан
    Комментировать
  • Как Ruby веб-фреймворки обучают оперировать заголовками?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    У руби есть скажем так "дефолтный" вебсервер интерфейс - rack.
    Ответ на Ваш вопрос кроется в короткой документации этой штуки. Если я конечно все правильно понимаю :)

    p.s. а все сервера поддерживают не рельсы, а этот самый rack
    www.rubydoc.info/github/rack/rack/#Supported_web_s...
    Ответ написан
    1 комментарий
  • Rails divese gem нужно ли заранее создавать модель?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    Самому модель создавать не нужно. Нужно использовать генератор devise'a.
    Чтобы лучше это понять, разберитесь с классами в Ruby, а потом смотрите, что от чего наследуется при генерации.
    Ответ написан
    Комментировать
  • Как правильно составить WHERE в Rails?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    =image_tag @wedding.photos[0].image.url(:medium) unless @wedding.photos.empty?


    это если нужны все элементы wedding не зависимо от наличия фото. Если нужно все только с фото, то лучше сделать скоуп в моделе

    на счет where вместе с привязанной моделью -

    scope :with_photos, -> { joins(:photos).where('photos.empty? = ?', false) }
    Ответ написан
    2 комментария
  • Как в проекте на Ruby on Rails менять содержимое тэга title в зависимости от страниц?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    Посмотрите тут
    https://www.railstutorial.org/book/static_pages#se...

    Если якорь не откроется:
    Глава 3, секция 3.4.3

    После - это можно засунуть в хаелпер (описано в следующей главе книги)
    Ответ написан
    Комментировать
  • Каким вы видите будущее Ruby?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    В свое время похожее меня терзало, но остался с руби и доволен как слон. Несколько помог вот этот доклад, который увидел как-то тут же, на тостере.
    https://youtu.be/xPFRUM_oDKA

    А если от себя - руби, а в частности рельсы не умрут. Особенно с теми обновлениями, что есть в 5 версии.
    Ответ написан
    3 комментария
  • Как лучше BDD'ить с Rspec'ом?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    Все, что написано ниже - сугубо субъективно и за чистую и единственную истину ни в коем случае воспринимать все не нужно.

    1. Что тестировать?
    Вопрос очень холиварный. Правда. Лично я делаю в бОльшем кол-ве integration tests, т.е. тестируется то, что видит пользователь. к тестам API это конечно не относится. Но так же тестирую более-менее сложные actions в контроллере. Так же я не тестирую простые валидации.
    Вывод: Для начала лучше тестировать каждый байт трафика между пользователем и сервером. Просто что-бы привыкнуть к тестам. Что-бы написать тест занимало меньше времени, чем любой, самый простой кусок кода в приложении.

    2. Название блоков.
    Скажу двумя словами от себя и вот ресурс. Там где-то в начале об этом вроде говорится.
    От себя - пишите названия так, что-бы при команде
    rspec --format documentation
    вам выводились более-менее связные предложения.

    p.s. Очень рекомендую главу RSpec из этой книги.

    Наверняка я ошибаюсь в чем-то и гуру рельсов меня поправят. Я буду только рад. :)
    Ответ написан
    Комментировать