Başka bir modelden iç içe öznitelikleri kabul eden bir form oluşturmaya çalışıyorum. Ama denetleyicisi yeni işlevinde ben @ item.item_type.build çalıştıran ve bu items_controllerRaylar undefined metot nil için `build ': NilClass
def new
@item = Item.new
@item_gallery = @item.item_galleries.build
@item_type = @item.item_type.build
end
Parametreler yeni fonksiyonu olan bu hatayı
undefined method `build' for nil:NilClass
alacağım:
def item_params
params.require(:item).permit(:title, :price, :description, item_galleries_attributes: [:id, :item_id, :image], item_type_attributes: [:id, :type, :item_id])
end
has_many :item_galleries, dependent: :destroy
has_one :item_type
accepts_nested_attributes_for :item_galleries
accepts_nested_attributes_for :item_type
:
ve item.rb (modeli) dosyası içinde
Temel olarak, öğe türünü bir form açılır listesinden ayarlamaya çalışıyorum.
Örnek:
<%= f.fields_for :item_types do |t| %>
<%= t.label :type %>
<%= t.select :type, options_for_select(["Type1", "Type2", "Type3"]), prompt: "Select One" %>
<% end %>
fikri giderek association.build yönteme karşı sen build_association yöntemi kullanmak bir has_one dernek için ITEM_TYPE