Re: page object

Colin Law
Sun, 31 May 2009 07:42:22 -0000

2009/5/31 Frederick Cheung
<frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:
>
>
>
> On May 31, 1:41 am, Matt Smart
<m.d.sm...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>> Hello,
>>
>> I''m new to the group, and still learning rails. I am a C++
programmer
>> by trade, so I''m finding some of the rails semantics
confusing. When I
>> come accross a statement like this:
>>
>> <%= link_to_function "clickme" do |page| ...
>>
>> ... and then a few lines that I do understand, could someone explain
>> to me the following: the link_to_function function takes some object
>> for the rendered link, and then what? it''s supposed to be
*args, and
>> then &block. I assume that the code that comes afterward is the
>> reference to a block of text, but how does the args part work? Also,
>> in this instance, how does the do evaluate |page|? and last: where in
>> the rails API docs is the reference for the page object?
>
> *args means that you can pass it as many arguments as you want (and if
> you were writing such a function then args would be an array
> containing those options). That doesn''t necessarily mean that the
> function will do something sensible if you pass it 23 arguments (to
> know that you need to read the docs for it)
>
> &block is basically just the block you give the function (and the fact
> that it''s there in the docs is probably a bit of an artefact of
rdoc -
> you can pass a block to any method (again, no guarantees on what that
> method will do with it). The ''do'' doesn''t
evaluate page, that''s just
> you giving a name to the object that link_to_function yields to you
> (which is an instance of JavaScriptGenerator or something similar).
>
> You might find it easier to get a solid grounding in ruby first before
> starting to fiddle around with rails.

I would not say that is necessary to get a ''solid'' grounding
in Ruby
before fiddling with Rails.  I successfully got going with my
fiddling, learning both at the same time. (Though I continue to make
errors in both areas of course).  The book Agile Web Development with
Rails (you want the 3rd edition) does a good job of introducing rails
to those without prior knowledge of Ruby.

Colin

>
> Fred
>>
>> I''m sure someone well versed in ruby can explain this to me.
Thankyou
>> for any help. Even links to documentation that explains these ruby
>> operators would help. Thanks again,
>>
>> Matt
> >
>