Ответы пользователя по тегу Ruby on Rails
  • Какие есть админки для Ruby on Rails?

    @Renius
    дурак восторженный
    Извините за оффтоп, но свиньи очень разборчивы в апельсинах. Прошу не обижать попусту этих милых животных :)
    Ответ написан
    Комментировать
  • Как сделать правильное исключение?

    @Renius
    дурак восторженный
    def get_coordinates
        begin
          addr = URI.encode(URI.decode(self.address))
          http = "http://geocode-maps.yandex.ru/1.x/?format=json&geocode=#{addr}"
          json = RestClient.get(http)
          parced_json = ActiveSupport::JSON.decode(json)
          coordinates = parced_json["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]["Point"]["pos"]
        rescue NoMethodError
          coordinates = nil
          self.errors.add(:coordinates)
        end
        coordinates
      end
    Ответ написан
    Комментировать
  • [Rails] Как организовать ежемесячное выставление счета?

    @Renius
    дурак восторженный
    mperham.github.io/sidekiq
    https://github.com/tobiassvn/sidetiq

    class MyWorker
      include Sidekiq::Worker
      include Sidetiq::Schedulable
    
      recurrence { monthly }
    
      def perform
        # do stuff ...
      end
    end
    Ответ написан
    Комментировать
  • Где я могу получить консультацию по Ruby on Rails и Code Review?

    @Renius
    дурак восторженный
    Начал давать платные консультации месяц назад, пока 1 клиент, полет нормальный.
    Ответ написан
  • Вопрос к Ruby девелоперам: за что Вы любите Ruby?

    @Renius
    дурак восторженный
    За то, что, код можно прочитать в слух, и код от этого не потеряет ясность.
    За то, что англо-русский словарь нужен для именования переменных
    За то, что именование переменных и выбор общего алгоритма — едиснтвенное о чем приходится думать.
    За то, что при программировании на Ruby 99% уходит на проектирование поведения, и 1% на программирование
    За то, что по первой строке ошибки можно определить где и в чем ошибка
    За то, что интеграционные тесты можно писать на русском, от чего заказчик обливается слезами умиления и расстается с деньгами
    За то, что вызывает ООП головного мозга
    За то, что технилогический уровень, и технологическое качество на голову выше программы ВУЗ-ов
    За то, что высокий порг вхождения по IQ на нет сокращает количество быдлокодеров
    За то, что разработка вызывает просто животный восторг граничащий с оргазмом
    За то, что разработкой в кайф реально можно заниматься по 16 часов в сутки и не сломать себе мозг
    За то, что на форуме тебе не скажут: лол ты нуб иди читай маны днище!!111адинадин
    За то, что, возможно, ваше изящное решение еще никто не использовал
    мне на работу пора, а так я могу очень долго писать
    Ответ написан
    2 комментария
  • Сообщество RoR, где тусуются русско-язычные?

    @Renius
    дурак восторженный
    Ответ написан
    Комментировать
  • Какие вы используете плагины для Redmine?

    @Renius
    дурак восторженный
    Самые полезные плагины, как мне кажется, пишутся вручную
    Ответ написан
    1 комментарий
  • Почему сохраняется модель?

    @Renius
    дурак восторженный
    1.9.3p194 :023 > u.build_image unless u.image
      Image Load (0.4ms)  SELECT `images`.* FROM `images` WHERE `images`.`user_id` = 2 LIMIT 1
       (0.2ms)  BEGIN
       (0.2ms)  COMMIT
     => #<Image id: nil, desc: nil, user_id: 2, created_at: nil, updated_at: nil> 
    1.9.3p194 :024 > u.image
     => #<Image id: nil, desc: nil, user_id: 2, created_at: nil, updated_at: nil> 
    
    

    — Копипаста из api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html
    One-to-one associations

    Assigning an object to a has_one association automatically saves that object and the object being replaced (if there is one), in order to update their foreign keys — except if the parent object is unsaved (new_record? == true).

    If either of these saves fail (due to one of the objects being invalid), an ActiveRecord::RecordNotSaved exception is raised and the assignment is cancelled.

    If you wish to assign an object to a has_one association without saving it, use the build_association method (documented below). The object being replaced will still be saved to update its foreign key.
    Ответ написан
    Комментировать
  • Ruby on Rails 3 validation model

    @Renius
    дурак восторженный
    средствами чистого Rails в рабочей системе

    with_options :if => «cause == 1» do |client|
    client.validates :prepay, :cost, :birthday, :phone1, :contract_date, :vin, :adress, :presence => 'true'
    client.validates_presence_of :id_series, :id_number, :id_dep
    client.validates_format_of :id_series, :id_number, :with => /[\d\s]/
    client.validates_presence_of :fio
    client.validates :car, :presence => true
    end

    with_options :if => 'cause == 5' do |client|
    client.validates_presence_of :fio, :manager, :trade_in_price, :trade_in_desc
    client.validates_associated :used_car

    end
    Ответ написан
    Комментировать
  • Существуе ли (относительный) аналог Magento на Ruby/Ruby-on-Rails?

    @Renius
    дурак восторженный
    Мне импонирует ваше желание пересесть на ruby on rails, но
    1. Если проект готов и работает — оставайтесь на magento, нет никаких гарантий, что вы выйграете от использования ror, хотябы потому, что вам придется менять все сови привычки разработчика. Ror и пхп очень разные, они как инопланетный разум друг для друга.
    2. Уровень абстракции в ror выше чем в пхп:
    Ror-сообщество предложит вам массу вариантов для решения функциональных блоков. Например систему авторизации devise, acts_as_authenticated, warden т.д.
    Уровень абстракции warden выше чем у devise, например потмоу, что devise использует варден. В зависимости от сценария аутентификации, именно вам приедтся выбрать между warden и devise. Мне пришлось потратить несколько часов, чтобы научить девайс отвечать на аяксовые запросы, почти все было переписано до неузнаваемости, было бы лучше, часть предусмотренной девайсом логики безвозвратно утеряна. Ах, если бы я начал отталкиваться от warden…
    Однако, devise подключается к готовому проекту за считанные минуты.
    Почти под все платежные системы написаны простые библиотеки, которые, чаще всего не трогают ваше приложение пока вы не начинаете трогать библиотеки. Хотя памяти себе отъест.
    Сценарий для развертывание того или иного конкретного сервера всегда можно кастомизировать, существует ряд стредств позволяющих подгружать данные как в базу так и через логику.
    Мне хочется думать, что подавляющее большинство ror разработчиков не будет использовать crm, максимум возможно использовать сборки gem-ов. Crm — не rails way. Даже самый простой интернет магазин с двумя страничками проще написать с нуля, чем использовать crm. Поэтому и примеров с crm мало.
    Ответ написан
    Комментировать