По сути вы пишете такой же код как и обычно, просто называете его "Плагин".
Я делаю так:
В папках controllers, в javascripts, stylesheets и views положил папку modules . (у меня в проекте я просто их модулям называю)
Создаю контроллер
rails g controller modules/name_module
Создается контроллер, скрипт стиль. вьюшки руками накидываю.
Потом где надо подключаю скрипт и стиль плагина.
//= require module/name_module.js
/*
*= require module/name_module.css
*/
Далее я вьюшки на страницу аяксом закидываю или можно так в любом месте вставить
<%=render template: 'modules/name_module.html'%>
При таком варианте скрипты и стили можно внутри этого файла подключать.
Ну и все. у вас html плагина, js, css и контроллер. Можете делать че хотите с ними.