6

Ho lottato con questo per giorni e non riesco a capire cosa c'è che non va. Sto tentando di consentire allegati di file polimorfici a un modello Item, che appartiene al modello Location. I miei percorsi sono definiti come:Errore con nested_form gemma: numero errato di argomenti (4 per 3)

resources :locations do 
    resources :items 
    post :sort 
end 

resources :items do 
    resources :assets #model for attachments 
end 

ho seguito a tutorial di fare esattamente questo con carrierwave e nested_form. Dopo aver impostato tutto, tuttavia, ottengo il seguente errore quando si richiede l'azione New per il modello Item: wrong number of arguments (4 for 3). Mi dice l'errore si verifica nella riga 7 di questa visione:

<%= nested_form_for [@location, @item], :html => { :multipart => true } do |f| %> 
    <p> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </p> 

    <%= f.fields_for :assets do |a_form| %> ### LINE 7 #### 
    <p> 
     <%= a_form.label :file %><br /> 
     <%= a_form.file_field :file %> 
     <%= a_form.hidden_field :file_cache %> 
    </p> 
    <%= a_form.link_to_remove "Remove this attachment" %> 
    <% end %> 

    <%= f.link_to_add "Add attachment", :assets %> 
    <p><%= f.submit %></p> 
<% end %> 

Se io non uso la gemma nested_form e iniziare la visualizzazione con un normale form_for, ottengo nessun errore e sono in grado di attaccare con successo un singolo file su Item. Posso provare a procedere senza la gemma, ma (per quanto ho capito) nested_form automatizzerà alcune delle funzionalità come rimuovere i file e generare ajax per aggiungere nuovi allegati.

Mi stavo chiedendo se qualcuno si è imbattuto in questo errore o sa quale errore sto facendo che sta causando problemi con nested_form? Capisco cosa significa l'errore, ma non sono sicuro di dove/perché venga aggiunto l'argomento extra. Apprezzo molto qualsiasi suggerimento che puoi fornire!

FYI mio setup dev: rotaie (3.1.0, 3.0.10), nested_form (0.1.1), carrierwave (0.5.7)

risposta

15

Al fine di ottenere nested_form lavorare con rotaie 3.1, ho dovuto tira l'ultimo da Github piuttosto che usare quello che c'è nella gemma. Nel mio Gemfile:

gem "nested_form", :git => "git://github.com/ryanb/nested_form.git" 
+0

GRAZIE! Non posso credere che sia tutto ciò che è stato. Ho visto [questo post] (http://stackoverflow.com/questions/6655674/rails-simple-nested-form-for-fields-for-wrong-number-of-arguments) dove il commento menzionava la versione fuori di data ... tuttavia i numeri delle mie versioni corrispondevano e il post risaliva a luglio, quindi presumo che i rubygems fossero stati aggiornati e non ci ho mai pensato un secondo. Grazie ancora, apprezza il tuo tempo. Spacchi :) – Denny