Ответы пользователя по тегу Ruby gems
  • Как настроить автосохранение поста в RAILS после успешно загруженной картинки, видео, файла, используя Carrierwave?

    HighQuality
    @HighQuality
    ☁ Ниндзя девелопер
    Посмотрите как работает ютуб. Загрузка большого файла идет первым шагом. Заполнение всей информации — вторым.

    Разделите форму на два шага и работайте с двумя разными формами.
    Ответ написан
  • Не проходит deploy на DigitalOcean c помощью Capistrano?

    HighQuality
    @HighQuality
    ☁ Ниндзя девелопер
    В предлагаемой статье есть метод, который грузит конфиг к базе на сервер с локальной машины

    cap production deploy:upload_yml

    Выполняю эту команду на сервере:

    demo@test8CPU:~$ ~/.rvm/bin/rvm default do bundle exec rake assets:precompile
    Could not locate Gemfile or .bundle/ directory

    Но у меня присутствует Gemfile и в репозитории на Github и в моём проекте!


    Но выполняется команда же не из корня проекта, а из домашней директории пользователя (demo@test8CPU:~$)
    Ответ написан
    Комментировать
  • Ошибка при переходе в каталог на Ruby?

    HighQuality
    @HighQuality
    ☁ Ниндзя девелопер
    Что требуется в итоге от руби для ваших текущих задач?
    Если разработка комплексных вещей на Ruby on Rails, то рекомендую сразу присмотреться к vagrant + ubuntu. RubyMine (IDE от JetBrains) хорошо работает с vagrant.

    В случае если очень-очень надо завести руби непосредственно под виндой нужно воспользоваться RubyInstaller, после чего добавить путь до папки bin в PATH переменную окружения.

    Если всё сделано верно даже в стареньком cmd можно будет обратиться к рубям, рубигемам и тестировать свои приложения.

    87643dc33cf944ecb8a87fc5299bdd83.png
    Ответ написан
  • Нужна ли админка для контент проекта на Ruby on Rails?

    HighQuality
    @HighQuality
    ☁ Ниндзя девелопер
    Часто бывает что гемов вроде activeadmin, administrate недостаточно и необходимо делать админку уже своими силами, вынеся её, например, в namespace

    # routes.rb
    namespace :admin do
      resources :articles
      resources :posts
    end


    Соответственно роутам нужно будет иметь контроллер app/controllers/admin/articles_controller.rb

    # admin/articles_controller.rb
    class Admin::ArticlesController < Admin::BaseController
    ...
    end


    # admin/base_controller.rb
    class Admin::BaseController < ApplicationController
      before_action :authenticate_admin!
      layout 'admin'
    
      protected
      def authenticate_admin!
        authenticate_user!
        redirect_to :root unless current_user.admin?
      end
    end


    Клёвые гемы:
    gem 'rails-i18n'
    gem 'simple_form'
    gem 'slim'
    gem 'gretel'
    gem 'kaminari'
    gem 'cocoon'
    gem 'pg_search'
    gem 'mini_magick'
    gem 'jquery-fileupload-rails'
    gem 'counter_culture'
    gem 'devise'
    gem 'devise-i18n'
    gem 'carrierwave'
    gem 'carrierwave-i18n'
    gem 'ranked-model'
    Ответ написан
    5 комментариев
  • Как в Ruby сделать метод общедоступным?

    HighQuality
    @HighQuality
    ☁ Ниндзя девелопер
    Чтобы в `SlaveClass` были доступны модуля `SharedMethods` его нужно подключить.

    class SlaveClass
    	include SharedMethods
    	def blabla
    		meth2
    	end
    end


    Теперь, чтобы вызвать метод модуля можно поступить следующим образом:

    module MasterModule
    	def self.do_some
    		SlaveClass.new.blabla
    	end
    end


    И вызывать метод модуля

    MasterModule.do_some

    ------ UPD
    Чуток плохого кода. Это тоже работает, но я бы не стал это использовать в боевых решениях :)

    module SharedMethods
    	def meth1
    		puts 'meth1'
    	end
    	def meth2
    		puts 'meth2'
    	end
    end
    
    class Object
    	include SharedMethods
    end
    
    #
    
    class SlaveClass
    	def blabla
    		meth2
    		meth1
    	end
    end
    
    module MasterModule
    	def self.do_some
    		SlaveClass.new.blabla
    	end
    end
    
    MasterModule.do_some
    Ответ написан