SpringFlowers AutumnMoon
2009-May-24 09:32 UTC
why do we use form_for @story do |f| when there is no loop?
we use (1..10).each do |i| p i end so that a value is "yield" to i in a block... but what about <% form_for @story do |f| %> <%= f.text_field %> <% end %> there is no loop at all... why do we need to make it look like a loop? Can''t we do it without making it look like a loop? (write in another way)? Also, must be use a Story instance here? Can''t we just use :story and achieve the same result? The @story instance is just newly created and has no data at all -- does it actually help creating the form? Can''t :story suffice already? thanks. -- Posted via http://www.ruby-forum.com/.
Andrew Timberlake
2009-May-24 09:37 UTC
Re: why do we use form_for @story do |f| when there is no loop?
On Sun, May 24, 2009 at 11:32 AM, SpringFlowers AutumnMoon <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > we use > > (1..10).each do |i| > p i > end > > so that a value is "yield" to i in a block... > > but what about > > <% form_for @story do |f| %> > <%= f.text_field %> > <% end %> > > there is no loop at all... why do we need to make it look like a loop? > Can''t we do it without making it look like a loop? (write in another > way)? > > Also, must be use a Story instance here? Can''t we just use :story and > achieve the same result? The @story instance is just newly created and > has no data at all -- does it actually help creating the form? Can''t > :story suffice already? thanks.Both these examples of code use blocks, the first just happens to be a loop, the second only looks like a loop if your first experience of blocks is in loops. I think it''s important that you forget about the loop and focus on blocks, once you''ve understood blocks, it will no longer look like a loop and you''ll understand that you really don''t want to write it a different way (even though it''s possible) Yes, you can use @story or :story and form_for will figure it out for you. Mostly it depends on where you''re using the form, new or edit etc. Andrew Timberlake http://ramblingsonrails.com http://MyMvelope.com - The SIMPLE way to manage your savings
SpringFlowers AutumnMoon
2009-May-24 12:58 UTC
Re: why do we use form_for @story do |f| when there is no loop?
Andrew Timberlake wrote:> On Sun, May 24, 2009 at 11:32 AM, SpringFlowers AutumnMoon > <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote: >> > I think it''s important that you forget about the loop and focus on > blocks, once you''ve understood blocks, it will no longer look like a > loop and you''ll understand that you really don''t want to write it a > different way (even though it''s possible)can i use something like: (just pseudo code) with (@story) do |f| f.begin_form f.textfield :name f.end_form end so i think the block method will save the begin_form and end_form because it automatically add the begin and end before calling the block. is that the main benefit? -- Posted via http://www.ruby-forum.com/.
Marnen Laibow-Koser
2009-May-24 13:05 UTC
Re: why do we use form_for @story do |f| when there is no loop?
SpringFlowers AutumnMoon wrote: [...]> can i use something like: (just pseudo code) > > with (@story) do |f| > f.begin_form > f.textfield :name > f.end_form > endYou already are. Just replace "with" with "form_for" and you''ll see that the syntax is essentially the same.> > so i think the block method will save the begin_form and end_form > because it automatically add the begin and end before calling the block. > is that the main benefit?Oh, now I see what you mean about the syntax. Yes, that''s sort of it. Read more about blocks in Ruby. Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/.
SpringFlowers AutumnMoon
2009-May-24 13:08 UTC
Re: why do we use form_for @story do |f| when there is no loop?
Marnen Laibow-Koser wrote:>> so i think the block method will save the begin_form and end_form >> because it automatically add the begin and end before calling the block. >> is that the main benefit? > > Oh, now I see what you mean about the syntax. Yes, that''s sort of it. > Read more about blocks in Ruby.yes, what i meant was something like with_model_give_form (@story) do |f| f.begin_form f.text_field :name f.end_form end except the begin_form and end_form can be called within "with_model_give_form", so it can become with_model_give_form (@story) do |f| f.text_field :name end so it is now the same thing as form_for -- Posted via http://www.ruby-forum.com/.