Pierre-Charles David wrote:

> > In the end, the page should contain a list of articles, and each article
> > a list of elements.
> > I want to have acces to it like:
> >
> > puts currentpage.articles[2].elements[5].content
> >
> > I want to be able to manipulate this data structure like f.i.:
> >
> > currentpage.articles[2].elements[5].content = 'Hello world'
> >
> > I am not sure if or how I can realise this, could somebody please give
> > me a hint?
>
> Ruby makes attributes hidden ('private') by default. You need to
> explicitely define reader methods for those you want to make accessible:

Okay, so now I have

class Page
    attr_writer :articles
    def initialize
        @articles = []
    end
    ...
end

class Article
    attr_writer :elements
    def initialize
        @elements = []
    end
    ...
end

class Element
    attr_writer :content
    ...
end

But how do I go from here?
The following does not work:

currentpage = Page.new
currentpage.articles.push(Article.new)

I get a 'undefined method: articles' error.

Regards,

    Erik.