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 <[email protected]> wrote:
> On 26 October 2011 16:53, JavierQQ <[email protected]> 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-3
> >
> > in 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
>
> > do |fes| %>
> >
> > and I get this error
> >
> > ............... unexpected ',', expecting ')'
> >
> > I hope someone can help
> >
> > Thanks in advance
> >
> > --
> > 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.
> >
> >
>
>
>
> --
> 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.