Я создаю генератор рельсов:
class TaggableGenerator < Rails::Generators::NamedBase
source_root File.expand_path('../templates', __FILE__)
hook_for :orm, :as => "model"
end
Все работает нормально, но я хотел бы установить поля, созданные в моделях, и создать несколько моделей, я ничего не могу найти о том, как это сделать (я получил приведенный выше код, глядя на генераторы устройств), желательно, чтобы я хотел это для меня или общий (но это не так важно).
1 ответ
Вот несколько ссылок, которые могут вам помочь:
http://railscasts.com/episodes/218-making-generators-in -рельсы-3
http://guides.rubyonrails.org/generators.html
По сути, вам просто нужно добавить методы в свой класс, чтобы делать то, что вы хотите (все общедоступные методы будут вызываться при вызове генератора), вот пример из исходников рельсов:
class AssetsGenerator < Rails::Generators::NamedBase
source_root File.expand_path("../templates", __FILE__)
def copy_stylesheet
copy_file "stylesheet.css", File.join('app/assets/stylesheets', class_path, "#{file_name}.css")
end
end
Файл copy_file исходит от Thor, вы можете увидеть список доступных методов в справочнике по Thor: http: //textmate.rubyforge.org/thor/Thor/Actions.html
Похожие вопросы
Новые вопросы
ruby-on-rails
Ruby on Rails - это полнофункциональная платформа веб-приложений с открытым исходным кодом, написанная на Ruby. Он следует популярной модели фреймворка MVC и известен своим подходом «соглашение поверх конфигурации» при разработке приложений.