que tienen 2 modelos:Rieles: Ahorro de muchos nuevos objetos en una forma anidada
vídeo:
class Video < ActiveRecord::Base
belongs_to :user
has_many :thumbnails
attr_accessor :search, :saveable
accepts_nested_attributes_for :thumbnails, :allow_destroy => true
en
d
miniatura:
class Thumbnail < ActiveRecord::Base
belongs_to :video
end
estoy usando el YouTubeG joya para buscar videos.
Cada vídeo que es devuelto por la búsqueda tiene una forma en la vista:
<% form_for :video, :url => videos_path, :html => { :class => :form } do |f| -%>
<%= f.hidden_field :url, :value => video.unique_id %>
<%= f.hidden_field :name, :value => video.title %>
<%= f.hidden_field :user_id, :value => current_user.id %>
<% if video.thumbnails.present? %>
<% f.fields_for :thumbnails, video do |t| %>
<% video.thumbnails.each do |thumbnail| -%>
<%=image_tag thumbnail.url %>
<%=t.text_field :url, :value => thumbnail.url %>
<% end -%>
<% end -%>
<% end %>
<%= f.submit "Save" %>
<% end -%>
El f.fields_for: miniaturas produce <input type="hidden" value="http://i.ytimg.com/vi/s8eigkwmMEo/0.jpg" name="video[thumbnails][url]" id="video_thumbnails_url"/>
que parece mal porque quiero salvar a todas las miniaturas para este video
Cuando intento para salvar consigo
ActiveRecord :: AssociationTypeMismatch en VideosController # crea
Parámetros:
{ "comprometerse" =>, "video" en "Guardar" => { "nombre" => "Karajan - Beethoven Symphony No. 7", "url" => "s8eigkwmMEo", "user_id" => "1", "thumbnails" => {"url" => "http://i.ytimg.com/vi/s8eigkwmMEo/0.jpg" }}} < debe haber 4 miniaturas
Hay nuevos episodios en formas anidadas para Rails 3: http://railscasts.com/episodes/196-nested-model-form-part-1 y http: //railscasts.com/episodes/197-nested-model-form-part-2 –