Я новичок в 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
Я не понимаю, почему это происходит.
Как мне избавиться от этой ошибки?