Hallo Frank,

auf den ersten Blick würde ich Dir den Rat geben Dir eines der 
zahlreichen Rails-Bücher zu holen und das mal durchzuarbeiten (bspw: 
Agile Webdevelopment with Rails). Dort bekommst du die Grundlagen sehr 
gut vermittelt. Ansonsten wird es nur unnötig schwer, sich in Rails 
einzuarbeiten.

Dennoch ein paar Tips zu Deiner Frage:

Generell müssen die Relationen auf Datenbankebene (die Du schon 
richtigerweise gesetzt hast) als Assoziationen in Rails abgebildet 
werden. In deinem Fall wäre das:

class Page < ActiveRecord::Base
  belongs_to :category
end

class Category < ActiveRecord::Base
  has_many :pages
end

Für die Kategorien würde ich einen extra Controller erstellen, etwa 
einen CategoryController, der in etwa so aussehen würde:

class CategoryController < ApplicationController

  def index
    @categories = Category.find(:all)
  end

  def show
    @category = Category.find(params[:id])
    @pages = @category.pages
  end

end

In der View der index-Action dann sowas in der Art (URL ist Restfull):

<% for category in @categories %>
  <%= link_to category.name, category_path(category) %>
<% end %>

Der Pfad "category_path(category)" sieht dann im Browser so aus: 
"category/id" und verweist in einem Restfull Design auf die show-Methode 
im CategoryController. Falls du nicht Restfull arbeitest, dann schreibe 
da stattdessen sowas hin: ":action => "show", :id => category.id".

In der show-Methode suchst Du dann über den übergebenen Parameter die 
entsprechende Category und kannst aufgrund der Assozationsmethoden 
direkt auf die zugehörigen "Pages" zugreifen.


Das war nur mal eine grobe Zusammenfassung. Ich würde Dir aber wirklich 
den Tipp geben, diese Grundlagen anhand eines Buches zu lernen.

Hier gibt's sogar ein deutsches frei von Gallileo. Weiß allerdings 
nicht, wie gut oder schlecht das ist.

http://www.galileocomputing.de/openbook/ruby_on_rails/ruby_on_rails_10_010.htm#mj8612ed43287d40386f62cc4b20c34f82

LG

Mike
-- 
Posted via http://www.ruby-forum.com/.
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an