annotate в rails 3.1

Как помните, решил я тут побаловаться «рельсами» 3.1. И есть такой замечательный гем — annotate. Весь смысл в том, что он на основании информации из БД вставляет в файл модели информацию о полях соответствующей таблицы. Иногда это бывает это очень удобно, ведь запомнить все поля бывает иногда проблематично.

Так вот. Не запустился! (-: Грязно выругался при запуске и не запустился:

$ annotate
/home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/activerecord-3.1.0/lib/active_record/railties/databases.rake:3:in `<top (required)>’: undefined method `namespace’ for main:Object (NoMethodError)
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `block in load’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `block in load_dependency’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:640:in `new_constants_in’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/activerecord-3.1.0/lib/active_record/railtie.rb:26:in `block in <class:Railtie>’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/railties-3.1.0/lib/rails/railtie.rb:183:in `call’

Ну и т.п. Надо что-то делать…. а делать надо следующее.

1. Добавляем в Gemfile:

gem ‘annotate’, :git => ‘git://github.com/jeremyolliver/annotate_models.git’, :branch => ‘rake_compatibility’

2. Теперь выполняем, как обычно:

$ bundle install

3. А теперь несколько иначе, чем раньше:

$ bundle exec annotate

Вот теперь всё должно получиться. (-:

Сентябрь 10th, 2011 by none | Один комментарий

Rails 3.1 в Ubuntu 11.04

Решил я тут побаловаться и потестировать только что вышедшие «рельсы», 3.1, так сказать. В общем описывать всё не буду, как обновлял и всё такое: в этом нет ничего нового и всё проходит нормально.  Решил создать новое пустое приложение:

1. $ rails new test31

Всё прошло замечательно. Приложение собралось, всё как положено. Посмотрел на обновлённую структуру папок, все дела. Дай-ка я запущу сервер:

2. $ rails s

И что же я вижу??? А вижу я примерно следующее:
/home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/execjs-1.2.4/lib/execjs/runtimes.rb:45:in `autodetect’: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/execjs-1.2.4/lib/execjs.rb:5:in `<module:ExecJS>’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/execjs-1.2.4/lib/execjs.rb:4:in `<top (required)>’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `<top (required)>’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `require’
from /home/none/.rvm/gems/ruby-1.9.2-p290@myproject/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `<top (required)>’

Ну и тому подобное. Не стартует сервер! Недолгие поиски в интернете показали, что в Gemfile надо добавить следующее:

3.  gem ‘therubyracer’   #Embed the V8 Javascript interpreter into Ruby.

Интерпретатор жаваскрипта. О, как! Ну да ладно. Дальше как обычно:

4. $ bundle install

И теперь сервер должен запуститься:

$ server s

Пользуйтесь всеми плюшками нового релиза. (-:

 

Сентябрь 7th, 2011 by none | Комментариев нет

Установка Ckeditor в rails 3

Когда-то очень давно я уже рассказывал, как установить на тот момент ещё FCKeditor да ещё и в php. С тех пор много воды утекло, да… Как-то успел подсесть на «рельсы» и всё такое. Поэтому сегодня расскажу, как установить этот редактор в приложение на RoR 3. Как оказалось, нет ничего сложного (-:

1. Создадим пустое приложение:

$ rails new test_editor -T -J

2. Переходим в этот новый каталог:

$ cd test_editor

3. Добавим в Gemfile:

gem ‘jquery-rails’
gem ‘ckeditor’
gem ‘paperclip’

‘paperclip’ необходим, чтоб работала загрузка изображений на сервер. Очень приятная штука на самом деле (-:

4. Выполняем, как обычно:

$ bundle install

5. Устанавливаем jQuery:

$ rails g jquery:install

6. Устанавливаем CKeditor:

$ rails generate ckeditor:install

7.  Генерируем необходимые модели:

$ rails generate ckeditor:models —orm=active_record

create  app/models/ckeditor/asset.rb
create  app/models/ckeditor/picture.rb>
create  app/models/ckeditor/attachment_file.rb
create  db/migrate/20110806153009_create_ckeditor_assets.rb

8. Создадим необходимые таблицы в БД:

$ rake db:migrate

9. Чтоб модели CKeditor-a были доступны в приложении, пропишем в application.rb следующую строчку:

config.autoload_paths += %W(#{config.root}/app/models/ckeditor)

10.  Для тестирования создадим пустой контроллер:

$ rails generate controller ckeditor index

11. Теперь добавим пару строк в нашу вьюшку app/views/ckeditor/index.html.erb:

<%= javascript_include_tag :ckeditor %>

<%= cktext_area_tag(«test_area», «Ckeditor is the best») %>

<%= cktext_area_tag(«content», «Ckeditor», :input_html => {:cols => 10, :rows => 20}, :toolbar => ‘Easy’) %>

12. Запускаем сервер

$ rails s

и наслаждаемся результатом (-:

Август 8th, 2011 by none | Комментариев нет

gem Russian в rails 3

Захотелось мне тут как-то добавить локализацию русскую себе. После шуршания по Интернету выбор пал на gem Russian. Собственно, сейчас я и расскажу, как его установить.

1. В Gemfile пишем следующее:

gem ‘russian’

2. После этого в консоли:

$ bundle install

Пока ничего нового.

3. Обязательно перегружаем сервер. И вот тут могут быть варианты (-: Или всё заработает, или, как было у меня, увидите ошибку, типа моей:

couldn’t parse YAML at line 17 column 14

4. Ничего смертельно. Делаем следующее. В config/boot.rb добавляем:

require ‘yaml’
YAML::ENGINE.yamler= ‘syck’

5. Опять рестарт сервера. Мне помогло. Может и Вам поможет ((-:

Август 4th, 2011 by none | 2 комментария

Terminator в Ubuntu 11.04

Наткнулся на днях на очень прикольную статью. Эдакая замена стандартному окну терминала. Мне очень понравилось, особенно, когда надо смотреть много логов, top и т.п. Да и экраны сейчас в основном широкоформатные, можно в одном окне сразу много терминалов одновременно наблюдать, не надо переключаться между окнами или вкладками.

Установка обычная, всё как всегда:

1. sudo add-apt-repository ppa:webupd8team/unstable
2. sudo apt-get update
3. sudo apt-get install terminator

Вот и всё, пользуйтесь на здоровье (-:

Июль 5th, 2011 by none | Комментариев нет