Re: page object

Frederick Cheung
Sun, 31 May 2009 02:36:48 -0000

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.

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