stores
için iç içe form categories
var ve mağaza modelinde attr_accessible olarak listelenmesini sağla. Ama yine de aşağıdaki hata almaya devam:Raylar 3.1 - Korunan öznitelikleri atayamaz (attr_accessible öğesine eklenmiş olsa bile)
WARNING: Can't mass-assign protected attributes: category_ids
Ben mağaza modelinde attr_accessible tüm varyasyonlarını denedim: Bunlardan
attr_accessible :categories
attr_accessible :category
attr_accessible :category_id
attr_accessible :category_ids
Yok çalışır! Her iki model de has_and_belongs_to_many'dır (ve kategoriler_storees adlı bir birleştirme tablosuna sahiptir).
Herhangi bir tavsiye büyük ölçüde takdir edilecektir (kafamı iki gün boyunca duvara çarpıyorum). Ben (oldukça gereksiz ve raylar hemen üstünde sorununa uyulması halinde gerekli değildir) bir geçici düzeltme uyguladık
GÜNCELLEME. Ben ActiveAdmin için create
yöntemi üzerine yazma ve dernek verileri eklemek için döngü tarafından düzelttim: Bir birleştirme tablo olarak adlandırılan categories_stores varsa
controller do
def update
@store = store.find(params[:id])
if @store.update_attributes(params[:store])
@store.categories.delete_all
params[:store][:category_ids].each do |category_id|
@store.categories << Category.find(category_id) unless category_id.blank?
end
redirect_to :action => :index
else
redirect_to :action => :edit, :notice => "Something f'ed up"
end
end
end
Hatta modelleri ve hala hiçbir hareket halindeyken hem attr_accessible çıkarmadan denedim! – Hopstream