Ruby Gem Development - Как использовать ActiveRecord? - PullRequest
6 голосов
/ 04 августа 2011

Я сейчас пытаюсь разработать свой первый рубиновый камень, и я уже застрял. Я использовал команду "bundle gem", чтобы создать базовую структуру и прочитать некоторые учебные пособия, но я не могу найти, как интегрировать ActiveRecord.

Где я могу создать свои миграции?

Создать ли папку «db / migrations» в папке lib или в корне?

И нужно ли мне что-то делать в Rakefile (я нашел несколько вопросов, где ответом было что-то вроде «вы должны создать свой собственный [my_gem]: db: migrate» или что-то в этом роде).

Все, что мне нужно, - это способ создания гема, который определяет модели ActiveRecord (включая, конечно, миграции), который затем может использоваться приложением rails.

Любая помощь по этому вопросу будет принята с благодарностью!

Привет, Фло

Ответы [ 2 ]

6 голосов
/ 04 августа 2011

При создании драгоценного камня для интеграции с проектом рельсов, вы хотите создать движок Railtie.Если вы используете rails 3.0.x, используйте enginex , если вы используете rails 3.1, вам следует использовать новый генератор:

rails g plugin new your-plugin-name

Тогда внутри вашего драгоценного камня вы можете простоОпределите модели в папке app/models/, и они будут автоматически выбраны.

Миграции несколько сложнее: для rails 3.1 все в порядке, если вы определите их в правильной папке, в rails 3.0 вам придетсявручную создать задачу для копирования миграций в вашу кодовую базу.Проверьте эту ссылку , где я ответил на тот же вопрос.

Для получения дополнительной информации о двигателях рельсов проверьте это и эту статью

3 голосов
/ 04 августа 2011

Получение функциональности ActiveRecord может быть сделано:

require "rubygems"
require "active_record"

class User < ActiveRecord::Base

end

Это должно работать.

...