Bir kumandanın create
yöntemi için bir spec yazıyorum "dizi indeksi olarak Sembol":Yakut hatası:
describe "POST create" do
it "should create an adtag with valid params" do
campaign = Campaign.make
campaign_attributes = Hash.new
campaign_attributes[:adtag_attributes] = Hash.new
campaign_attributes[:adtag_attributes][:code] = "<h1>Sample code</h1>"
post 'create', { :id => campaign.id, :campaign => campaign_attributes }
end
end
Ama bunu çalıştırdığınızda, ben denetleyicisi hata "Symbol as array index"
olsun, bu çalıştığında Bu kod işlenir:
Herhangi bir fikir? Teşekkür
DÜZENLEME 1:
ben denetleyicisi yazmadım, ama manuel test ile çalışır.
fields_for 'campaign[adtag_attributes][]', adtag do |adtag_form|
Belki benim Spec iyi değil: benim denetleyicisi çağırır görünümü bu kodu vardır?
DÜZENLEME 2: Rishav cevabı
Sorun çözüldü teşekkürler. Bu açıdan bakmadım, campaign[adtag_attributes][]
, campaign[adtag_attributes]
dizesinin bir Dizidir.
campaign_attributes = Hash.new
campaign_attributes[:adtag_attributes] = Array.new
campaign_attributes[:adtag_attributes] << { :code => "<h1>Sample code</h1>" }
tarafından
campaign_attributes = Hash.new
campaign_attributes[:adtag_attributes] = Hash.new
campaign_attributes[:adtag_attributes][:code] = "<h1>Sample code</h1>"
yerini ve mükemmel çalıştı.
çalışır, ancak manuel test ile çalışır. Daha fazla bilgi için gönderi düzenime bakın. –
güncellemesini kontrol edin –
Evet, işe yarıyor. Teşekkürler ! –