在嵌套形式 rails @class.associative_class 中使用 options_for_select?

using options_for_select in nested form rails @class.associative_class?

在我的 rails 应用程序中,我使用了成本表格和 dependent_costs 嵌套表格。

成本 has_many dependent_costs 和 dependent_costs belong_to 成本。

这是我遇到问题的地方:

<div class="col-xs-12" id='dependency'>
        <section id="new-dependency">
            <div class="col-xs-3 center-block">
                <%= f.fields_for :cost_dependencies, @cost.cost_dependency do |dependency| %>
                <%= dependency.label :dependency_category, "Dependent Category" %>
                <%= dependency.select :dependency_category, options_for_select(getAllCategories, :selected => @cost.cost_dependency.dependency_category.nil? ? 'Please Select' : @cost.cost_dependency.dependency_category), {}, {:class => 'form-control', id: "category-select"} %>
            </div>
        </section>
</div>

它在 options_for_select 部分。我收到 #<ActiveRecord::Associations::CollectionProxy []> 的无方法 dependency_category 我不太确定从这里往哪里前进。因为我想像过去一样将此表单用于新方法和编辑方法。

杂项文件以防有帮助: 模型成本和 cost_dependency:

class Cost < ApplicationRecord
    has_many :cost_dependency
    validates :per_job, numericality: true
    validates :per_page, numericality: true
    accepts_nested_attributes_for :cost_dependency
end

.

class CostDependency < ApplicationRecord
    belongs_to :cost 
    validates :per_job, numericality: true
    validates :per_page, numericality: true
end

如有任何帮助,我们将不胜感激。

谢谢。

@cost.cost_dependency

returns 一个集合,ActiveRecord::Associations::CollectionProxy,不是 CostDependency class 的一个实例,因此是错误的。

您可能是想写以下内容?

@cost.cost_dependency.pluck(:dependency_category)

我假设 dependency_categoryCostDependency 模型的一个属性。