Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 16

Жду ваших исправлений, замечаний, дополнений.
Вот лень читать, прости, но АктивРекорд можно использовать просто как гем. Поэтому, мне кажется, достаточно использовать require 'active_record' для использования библиотеки (гема) и все.

Так, по крайней мере, я использую активрекорд в Синатре.
А почему всё: и конфиги, и исполняемые файлы — лежит в lib?
Я бы запуск функционала оформил посредством rake-задачи.
Я в Netbeans делал проект, там весь программный код лежит в lib. Можно и rake-задачу сделать, распарсить какой-нибудь каталог например.
Я считаю, что в таких поделках стоит сохранять структуру rails. Удобнее другим разработчикам разбираться в проекте, а также редакторы не будут сбиваться с толку. Например, vim всё так же будет хорошо понимать команды :Rlib, :Rtask и прочее.

ps. Перенесите пост в ruby?
Перенес.
Я считаю, что в таких поделках стоит сохранять структуру rails.

Ок, сделаю. Спасибо за отзыв :)
Не обязательно, можно создать и другие каталоги и добавить их в проект.
Небольшое отсутпление от темы: можно напрямую же брать XML с Яндекcной Погоды и парсить HTML не надо!
Согласен с комментом выше по поводу то что не надо конфиги и миграции в lib пихать.
Насколько понимаю в lib/main.rb не надо делать require 'active_record', он уже в enviroment есть. И require 'logger' лучше туда же перетащить. Еще бы неплохо все-таки модель вынести в отдельный файл, ну и вообще классами все оформить. Но это уже занудство, понимаю что тут не это показывается.

А материал полезный. Так то было понятно что active_record можно использовать без rails но вот как все это дело проинициализировать и сконфигурировать, этого не знал. Спасибо.
НЛО прилетело и опубликовало эту надпись здесь
Вам спасибо за отзыв. Я новичок в программировании, конструктивную критику очень жду.
без рельс я бы использовал DataMapper (www.datamapper.org)

там имеется автоматическая подгрузка ассоциаций, да и синтаксис поприятнее:
# 'gt' means greater-than. We also do 'lt'.
Person.all(:age.gt => 30)

# 'gte' means greather-than-or-equal-to. We also do 'lte'.
Person.all(:age.gte => 30)

# 'not' allows you to match all people without the name "bob"
Person.all(:name.not => 'bob')

# If the value of a pair is an Array, we do an IN-clause for you.
Person.all(:name.like => 'S%', :id => [ 1, 2, 3, 4, 5 ])

# Does a NOT IN () clause for you.
Person.all(:name.not => [ 'bob', 'rick', 'steve' ])
а в MongoDB вообще не нужны миграции и схемы :)
ээм кажется человек пришел из С, С++ сферы, main.rb файл :)
Вообще сейчас, а может и раньше, применяется классовый и модульные подход. То есть оформляем классы, модули, в главном файле подгружаем их через autoload и используем все в главном файле, что избавит нас от написания простыней require '' в каждом файле… that's ruby way :)
Netbeans создает файл main.rb. А для демонстрации применения, я думаю, не надо создавать кучу классов и модулей =)
Есть еще как минимум дин метод конфигурирования связи с БД, более простой, нежели приведенный:

ActiveRecord::Base.establish_connection(
  :adapter => 'sqlite3',
  :database => 'database.sqlite3'
)
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации