Ruby on rails 铁轨形式为';t在选择字段外显示新对象属性的值

Ruby on rails 铁轨形式为';t在选择字段外显示新对象属性的值,ruby-on-rails,simple-form,nested-object,Ruby On Rails,Simple Form,Nested Object,在Rails 6应用程序中使用SimpleForm,我有一个嵌套对象,它在父对象的新方法上创建了多次: def new @issue = @issueable.issues.new @cat_patchvault = Catalog.find_by_slug("patchvault") @cat_bb6 = Catalog.find_by_slug("blue-book-6") @issue.catalog_entries.

在Rails 6应用程序中使用SimpleForm,我有一个嵌套对象,它在父对象的新方法上创建了多次:

def new
    @issue = @issueable.issues.new
    @cat_patchvault = Catalog.find_by_slug("patchvault")
    @cat_bb6 = Catalog.find_by_slug("blue-book-6")
    @issue.catalog_entries.build(catalog_id: @cat_patchvault.id)
    @issue.catalog_entries.build(catalog_id: @cat_bb6.id)
    @issue.reorders.new
    @issue.issue_variations.new
    respond_with @issue
  end
这些对象全部创建,目录条目部分被渲染,并在“选择”下拉列表中显示正确的目录,但是,我想更改字段集的图例以反映目录,并将其移动到隐藏字段

选择有问题的:

<%= form.input :catalog_id,
               label: 'Catalog',
               as: :select,
               prompt: 'Choose Catalog',
               collection: Catalog.all.order(:name),
               label_method: lambda { |cl| "#{cl.name} #{cl.version if cl.version}"} %>

如果
association\u label
被注释掉,它将返回一个对象,例如
。如果不是,则返回nil:NilClass`的
undefined method
name',这很奇怪,因为那里有一个对象…

问题不在于
目录项\字段
。在此行调用
catalog\u entry\u字段时

<%= f.simple_fields_for :catalog_entries, CatalogEntry.new, child_index: 'NEW_RECORD' do |catalog_entry_form| %>
<%= render "catalog_entry_fields", form: catalog_entry_form %>
返回的对象是
#

在此处调用
显示\u输入
类时:

<%= f.simple_fields_for :catalog_entries do |catalog_entry_form| %>
   <%= render "catalog_entry_fields", form: catalog_entry_form %>
<% end %>
<%= f.simple_fields_for :catalog_entries, CatalogEntry.new, child_index: 'NEW_RECORD' do |catalog_entry_form| %>
          <%= render "catalog_entry_fields", form: catalog_entry_form %>

表单生成器返回的对象是
#
没有目录id,因此在nil上调用
名称
,这导致了错误

<%= f.simple_fields_for :catalog_entries do |catalog_entry_form| %>
   <%= render "catalog_entry_fields", form: catalog_entry_form %>
<% end %>
<%= f.simple_fields_for :catalog_entries, CatalogEntry.new, child_index: 'NEW_RECORD' do |catalog_entry_form| %>
          <%= render "catalog_entry_fields", form: catalog_entry_form %>