6

He estado luchando con este durante días y parece que no puedo entender qué sucede. Estoy intentando permitir archivos adjuntos de archivos polimórficos a un modelo Item, que pertenece al modelo Location. Mis rutas se definen como:Error con la gema nested_form: número incorrecto de argumentos (4 de 3)

resources :locations do 
    resources :items 
    post :sort 
end 

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

que siguieron a tutorial de hacer exactamente esto con carrierwave y nested_form. Después de configurar todo, sin embargo, aparece el siguiente error al solicitar la acción New para el modelo Item: wrong number of arguments (4 for 3). Me dice que el error se produce en la línea 7 de este punto de vista:

<%= 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 %> 

Si yo no uso la gema nested_form y empezar a salir de la vista con una normal de form_for, me sale ningún error y soy capaz de conectar con éxito un solo archivo al Item. Puedo intentar continuar sin la gema, pero (hasta donde yo entiendo) nested_form automatizará algunas de las funciones, como eliminar los archivos y generar ajax para agregar nuevos archivos adjuntos.

Me preguntaba si alguien ha tenido este error o sabe qué error estoy causando problemas con nested_form? Entiendo lo que significa el error, simplemente no estoy seguro de dónde/por qué se lanza el argumento adicional. ¡Agradezco mucho cualquier información que pueda proporcionar!

FYI mi configuración dev: carriles (3.1.0, 3.0.10), nested_form (0.1.1), carrierwave (0.5.7)

Respuesta

15

el fin de obtener nested_form trabajar con carriles de 3,1, que tenía que saca lo último de github en lugar de usar lo que hay en la gema. En mi Gemfile:

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

¡GRACIAS! No puedo creer que sea todo lo que era. Había visto [esta publicación] (http://stackoverflow.com/questions/6655674/rails-simple-nested-form-for-fields-for-wrong-number-of-arguments) donde el comentario mencionaba que la versión estaba fuera de fecha ... sin embargo mis números de versión coinciden y la publicación fue a partir de julio, así que asumí que los rubygems habían sido actualizados y nunca lo pensé un segundo. Gracias de nuevo, agradece tu tiempo. Tu mandas :) – Denny

Cuestiones relacionadas