首页 > 解决方案 > 如何解决 Redmine 插件上 QueryAssociationColumn 的 NameError?

问题描述

我是 Ruby 和 Rails 的新手,正在尝试创建一个简单的补丁插件,其中包含另一个插件的额外属性作为列出问题时可用的列。

根据我到目前为止所读到的内容,我写了一个新文件,lib/issue_query_patch.rb其中包含:

require_dependency 'issue_query'

module IssueQueryPatch
  def self.included(base) # :nodoc:
    base.send(:include, InstanceMethods)

    base.class_eval do
      alias_method_chain :available_columns, :story_points
    end
  end

  module InstanceMethods

    # Adds the story points column to default the redmine issue query
    def available_columns_with_story_points
      columns = available_columns_without_story_points
      columns << get_story_points_column
      return columns
    end

    def get_story_points_column
      return @story_points_column if @story_points_column

      @story_points_column = QueryAssociationColumn.new(:agile_data, :story_points, :caption => :label_agile_story_points)
      @story_points_column
    end
  end
end

IssueQuery.send(:include, IssueQueryPatch)

但是当我尝试列出我的问题时,我得到:

NameError(未初始化常量 IssueQueryPatch::InstanceMethods::QueryAssociationColumn):

使用类似的方法QueryColumn不会引发 NameError。

由于这两个类都是在声明的,app/models/query.rb所以我不知道为什么会这样。

我怎样才能摆脱这个错误?

标签: ruby-on-railsrubyredmineredmine-plugins

解决方案


推荐阅读