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.
On Sun, May 24, 2009 at 11:32 AM, SpringFlowers AutumnMoon
[email protected] wrote:
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 T.
http://ramblingsonrails.com
http://MyMvelope.com - The SIMPLE way to manage your savings
Andrew T. wrote:
On Sun, May 24, 2009 at 11:32 AM, SpringFlowers AutumnMoon
[email protected] 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?
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
SpringFlowers AutumnMoon wrote:
[…]
can i use something like: (just pseudo code)
with (@story) do |f|
f.begin_form
f.textfield :name
f.end_form
end
You 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
[email protected]