Ruby on rails 铁轨形式为';t在选择字段外显示新对象属性的值
在Rails 6应用程序中使用SimpleForm,我有一个嵌套对象,它在父对象的新方法上创建了多次: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.
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 %>