On Oct 26, 2011, at 12:17 PM, Javier Quarite wrote:
Thanks for your reply,
I've seen that cast, but when I add another form for another children the HTML shows this
<input id="user_children_attributes_0_name" maxlength="255" name="user[children_attributes][0][name]" type="text">
so it's not increasing and it will only save the first child
and now I'm trying what the cast says
_children.html.erb
<%= f.semantic_fields_for "user[children][]", user do |children| %>
.....
<% end %>
and I get this
undefined local variable or method `user'
It's maybe something I'm not seeing, I'm starting with rails and I hope someone can help me
Here's an extraction from a site that's using Ryan's plug-in (a person can have N images):
#people_controller.rb
...
def new
@person = Person.new
@person.images.build
end
...
#person.rb
class Person < ActiveRecord::Base
attr_accessible :images_attributes, :name, :sort_name, :birth, :death, :nationality, :historical_period, :short_description, :bio
has_many :images, :as => :attachable, :dependent => :destroy
accepts_nested_attributes_for :images, :reject_if => lambda { |a| a[:file].blank? && a[:file_uid].blank? && a[:file_url].blank? && a[:name].blank? }, :allow_destroy => true
validates :name, :presence => true
validates :nationality, :presence => true
validates :historical_period, :presence => true
end
#image.rb
class Image < ActiveRecord::Base
attr_accessible :name, :attachable_type, :attachable_id, :file_name, :file_url, :file_uid, :file, :retained_file, :remove_file, :created_at, :file_height, :updated_at, :file_width
image_accessor :file
belongs_to :attachable, :polymorphic => true
def label
name.blank? ? file_name : name
end
end
#people/_form.html.erb
<%= nested_form_for @person, :url => person_path(@person, :page => params[:page]), :html => {:multipart => true} do |f| %>
<%= f.error_messages %>
...
<div id="images" class="tabbed">
<%= f.fields_for :images %>
<p class="clear-both">
<%= f.link_to_add "Add an image", :images %>
</p>
</div>
<p><%= f.submit %></p>
<% end %>
#people/_image_fields.html.erb (this name is critical to success)
<p class="clear-both image">
<%- if f.object.file_uid -%>
<span class="left">
<%= link_to( image_tag( f.object.file.thumb('60x60#').url, :class => 'border', :size => '60x60' ), f.object.file.url, :target => '_blank') %><br /><span class="hint"><%= f.object.file_width %> × <%= f.object.file_height %></span>
</span>
<%= f.link_to_remove "Delete", :class => 'delete' %>
<%- else -%>
<span class="left">
<%= image_tag( 'thumb_new.jpg', :class => 'border', :size => '60x60' ) %>
</span>
<%- end -%>
<%= f.label :name %>
<%= f.text_field :name %><br />
<%= f.label :file, "Upload" %>
<%= f.file_field :file %>
<%= f.hidden_field :retained_file %><br />
<%= f.label :file_url, "Upload From URL" %>
<%= f.text_field :file_url %>
</p>
That is quite literally all there is to it, except to follow the rest of the install directions on the Github page.
Walter
Thanks
On Wed, Oct 26, 2011 at 11:06 AM, Colin Law wrote:
On 26 October 2011 16:53, JavierQQ wrote:Hello,
I'm having some trouble with forms, my app allows to enter data by
using a multi-step form that has 7 steps.
There are 3 steps that may let the user to add 1 form, for example
there's a step called "children"
and that children has the following fields:
* name
* age
* gender
but one father may have more than 1 child and I'm adding another form
with ajax by following this
http://stackoverflow.com/questions/4812003/adding-fields-dynamically-in-a-nested-model-form-in-rails-3in the "invite" partial
_invite.html.erb
<%= fields_for "user[invites_attributes][]", invite do |i| %>
<li>
<%= link_to("Remove", "#delete", :class => "delete-invite") %>
<%= i.label :full_name, "Full Name" %>
<%= i.text_field :full_name %>
<%= i.label :email, "Email Address" %>
<%= i.text_field :email %>
</li>
<% end %>
I'm having some troubles with the first line: <%= fields_for
"user[invites_attributes][]", invite do |i| %>
What is the correct usage of that? I'm using formtastic and when I
made that line but with my fields
<%= f.semantic_fields_for ("user[children_attributes][]", user)
You should not have a space between semantic_fields_for and (. That
is ruby syntax. Whether it fixes you problem is another matter.
Colin
--
gplus.to/clanlaw
--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to
[email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to
[email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to
[email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.