plugins.md 1.7 KB

插件

插件开发

  1. 创建插件:执行ruby script/generate redmine_plugin Polls,生成插件所需的控制器、模型、视图、迁移文件等目录结构

  2. 编辑插件信息:修改vendor/plugins/redmine_polls/init.rb文件,配置插件名称、作者、描述、版本等基础信息

  3. 重启验证:重启Redmine应用服务,访问http://localhost:3000/admin/plugins,可在插件列表中查看新增的Polls插件

  4. 创建模型:执行ruby script/generate redmine_plugin_model Polls poll question:string yes:integer no:integer生成模型;将生成的时间戳迁移文件重命名为数字前缀(如001_xxx.rb);编辑vendor/plugins/redmine_polls/app/models/poll.rb,添加vote投票业务方法

  5. 数据迁移:执行rake db:migrate_plugins RAILS_ENV='production'完成数据库迁移;通过MySQL命令插入测试数据(如两条投票问题)

  6. 添加控制器与视图:执行ruby script/generate redmine_plugin_controller Polls polls index vote生成控制器及视图;编辑polls_controller.rb实现列表查询(index)和投票(vote)逻辑;编辑index.html.erb视图文件渲染投票列表及投票按钮;删除无用的vote.html.erb视图

  7. 扩展菜单:在init.rb中配置应用菜单(:application_menu)或项目菜单(:project_menu);修改PollsController添加find_project方法获取项目实例变量(@project),确保项目菜单正常显示

  8. 添加权限:在init.rb中细化权限配置(拆分view_polls、vote_polls权限);更新PollsController添加before_filter :find_project, :authorize实现权限过滤,支持为不同角色分配权限