其他提示

自定义字段基本上是几乎作为一个资源来实现(但是没有用于custom_fields没有资源路由)。我不明白了一个道理,为什么你不应该能够只使用CustomField.create /新创建的插件需要的字段。同样,你应该能够只使用find()方法来获取所有现有的自定义字段。 但是,我不得不说,我从来没有这样做过,不知道这是否是标准的方式。但是,断手,我看不出什么毛病做这种方式。

随着舍甫琴科Lesyuk回答,把你的脚本下#{PLUGIN_ROOT}/db/migrate并通过使用命令来安装/卸载插件测试。

有关安装插件使用命令:

rake redmine:plugins:migrate

和用于卸载它:

rake redmine:plugins:migrate NAME=<your plugin name> VERSION=0

检查官方文档进一步的细节。

例如,脚本可以001_populate_custom_fields.rb是这样的:

class PopulateCustomFields < ActiveRecord::Migration
  # method called when installing the plugin
  def self.up
    if CustomField.find_by_name('A New Custom Field').nil?
      CustomField.create(name: 'A New Custom Field', field_format: 'text')
    end
  end

  # method called when uninstalling the plugin
  def self.down
    CustomField.find_by_name('A New Custom Field').delete unless CustomField.find_by_name('A New Custom Field').nil?
  end
end

这将创建/删除从redmine的数据库表custom_fields检查它的存在后自定义字段“的新自定义字段”类型的“文本”。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top