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] } %>
我正在尝试学习如何在我的 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] } %>