Чтобы carrierwave корректно обрабатывал имена файлов с русскими символами в файл аплоадера необходимо добавить следующие строки:
CarrierWave::SanitizedFile.sanitize_regexp = /[^a-zA-Zа-яА-ЯёЁ0-9\.\_\-\+\s\:]/
вторник, 14 мая 2013 г.
суббота, 11 мая 2013 г.
Генерация случайного пароля
Первый способ - генерирует семизначный пароль из букв разного регистра и цифр.
def pass_generate(len=7) chars = ('a'..'z').to_a + ('A'..'Z').to_a + ('1'..'9').to_a - ['o', 'O', 'i', 'I']
return Array.new(len) { chars[rand(chars.size)] }.join end
Второй способ - только буквы нижнего регистра
Array.new(6) { (rand(122-97) + 97).chr }.join
среда, 3 апреля 2013 г.
Шпаргалка по typus + devise
- gem "devise"
gem "typus" - $ rails generate devise:install
- $ rails generate devise DeviseUser
- $ rake db:migrate
- $ rails generate typus
- config/initializers/typus.rb
- There are some changes you need to do to your DeviseUser.
- restart
1. Добавляем необходимые гемы в Gemfile:
gem "devise"
gem "typus"
2. Генерируем devise
$ rails generate devise:install
3. Генерируем модель для devise
$ rails generate devise DeviseUser
4. Применяем миграции
$ rake db:migrate
5. Генерируем typus
$ rails generate typus
6. Редактируем config/initializers/typus.rb
Typus.setup do |config|
config.authentication = :devise
end
7. Вносим изменения в модель DeviseUser
require 'typus/orm/active_record/user/instance_methods'
require 'typus/orm/active_record/user/instance_methods_more'
class DeviseUser < ActiveRecord::Base
# Включаем модули для Devise, другие доступные:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable и :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Устанавливаем доступные аттрибуты для модели
attr_accessible :email, :password, :password_confirmation, :remember_me
attr_accessible :email, :password, :password_confirmation, :remember_me, :as => :admin
include Typus::Orm::ActiveRecord::User::InstanceMethods
include Typus::Orm::ActiveRecord::User::InstanceMethodsMore
end
8. Перезапускаем приложение
Шпаргалка по devise
- gem 'devise'
- $ bundle install
- $ rails generate devise:install
- $ rails generate devise MODEL
- $ rake db:migrate
- restart
Добавляем в Gemfile:
gem 'devise'
2. Затем:
$ bundle install
3. Генерируем devise:
$ rails generate devise:install
4. Далее создаем модель devise:
$ rails generate devise MODEL, где MODEL - название модели( может быть users или admin).
5. Применяем созданные миграции:
$ rake db:migrate
6. После этого необходимо перезапустить приложение.
вторник, 26 марта 2013 г.
Установка среды запуска JavaScript: Nodejs
После ввода команды
$ rake db:migrate
rake aborted!
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
На указанной странице нам предлагают установить гем ExecJS, который сам будет выбирать лучшую среду для запуска JavaScript.
Проблему можно решить установив одну из сред, указанных на странице. Мы будем устанавливать Nodejs. Инструкции по установке на разные системы можно найти на странице https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager.
У меня Debian 6.0.7 и пишут, что есть готовый пакет в репозитории в ветке unstable. Но рекомендуют самим скомпилировать программу. Все просто (делаем из под учетной записи администратора):
$ rake db:migrate
rake aborted!
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
На указанной странице нам предлагают установить гем ExecJS, который сам будет выбирать лучшую среду для запуска JavaScript.
Проблему можно решить установив одну из сред, указанных на странице. Мы будем устанавливать Nodejs. Инструкции по установке на разные системы можно найти на странице https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager.
У меня Debian 6.0.7 и пишут, что есть готовый пакет в репозитории в ветке unstable. Но рекомендуют самим скомпилировать программу. Все просто (делаем из под учетной записи администратора):
$ apt-get install python g++ make
$ mkdir ~/nodejs && cd $_
$ wget -N http://nodejs.org/dist/node-latest.tar.gz
$ tar xzvf node-latest.tar.gz && cd `ls -rd node-v*`
$ ./configure
make install
понедельник, 25 марта 2013 г.
Использование rvm: gemset
В Ruby on Rails возможно использование наборов гемов между которыми можно переключаться.
Исходная позиция:
-debian 6.0.7 squeeze
-rvm 1.18.21 stable
Создать gemset легко:
$rvm gemset create rails32
Чтобы просмотреть список созданных гемов:
$ rvm gemset list
Переключение на существующий gemset:
$ rvm use @rails32
Официальная документация по использованию gemset.
Установка ruby 1.9.3 на Debian через rvm
Для того чтобы скомпилировать ruby 1.9.3 установим через rvm библиотеку openssl.
$ rvm pkg install openssl
$ rvm install 1.9.3 --with-openssl-dir=$rvm_path/usr
Здесь $rvm_path путь установки библиотеки openssl.
$ rails -v
Если будет выведена версия rails, значит все сделано правильно.
А если возникнут ошибки, смотрите официальный сайт rvm.
Подписаться на:
Комментарии (Atom)