Rails5、关注点——如何在表单中使用方法

Rails 5, Concerns - how to use methods in a form

我正在尝试学习如何在我的 Rails 5 应用程序中使用模型问题。

我有一个嵌套模型:

class Stance::Cost < ApplicationRecord

    include HasCostPolicy

    belongs_to :organisation, inverse_of: :cost

在我的 models/concerns 文件夹中,我有:

module HasCostPolicy
  extend ActiveSupport::Concern
  included do
    enum cost_sharing: {
                    proportionately: 1,
                    equally: 2,
                    no_contribution: 3,
                    bear_all_costs: 4,
                    other_cost_policy: 5

                  }
    end
end

然后在我的成本嵌套表格中,我有:

<%= f.input :ip_expenses, as: :select, label: "Responsibility for IP expenses", collection: Stance::Cost.cost_sharing.map { |key, val| [key.humanize, key] } %> 

当我尝试呈现组织表单(带有嵌套的成本字段)时,我收到一条错误消息:

undefined method `cost_sharing' for #<Class:0x007ffe7eaef220>

我需要做什么才能在我的嵌套表单中使用 HasCostPolicy 关注点?

奇怪的是,我需要在表格中复数cost_sharing。

我不明白为什么,但这行得通:

<%= f.input :ip_expenses, as: :select, label: "Responsibility for IP expenses", collection: Stance::Cost.cost_sharings.map { |key, val| [key.humanize, key] } %>