Ich habe genug von PHP, und wende mich gerade Ruby on Rails zu, habe aber leider schon die ersten Probleme. Bevor ich das Scaffolding verwende, habe ich mir gedacht, einfach mal eine kleine Übung "per Hand" zu schreiben. Und zwar soll das ganze ein kleiner Blog werden, erst einmal möchte ich alle Kategorien auflisten.
Zuerst habe ich ein Modell (script/generate model blog) über die Konsole erstellt.
Dann habe ich folgende Migrationsdatei (db/migrate/002_blog_categories.rb) erstellt:
- Code: Alles auswählen
class BlogCategories < ActiveRecord::Migration
def self.up
create_table :blogCategories do |t|
t.column :name, :string
end
end
def self.down
end
end
und über rake db:migrate ausgeführt. Funktionierte auch wunderbar, die Datenbank wurde problemlos angelegt.
In der Model-Datei (app/models/blog.rb) habe ich einen ActiveRecord hinzugefügt (der doch die Daten aus der Datenbank auslesen müsste?):
- Code: Alles auswählen
class Blog < ActiveRecord::Base
end
class blogCategories < ActiveRecord::Base
end
So weit kein Problem (die hier nicht erwähnte View habe ich erstellt, scheint mir hier aber nebensächlich zu sein), sobald ich aber die Daten abrufen möchte (app/controllers/blog_controller.rb)...
- Code: Alles auswählen
class BlogController < ApplicationController
def index
@categories = blogCategories.find :all
end
end
...erscheint mir folgender Fehler:
undefined local variable or method `blogCategories' for #<BlogController:0x26b3a6c>
Im Modell habe ich das doch hinzugefügt, wieso funktioniert das dann nicht bzw. worin liegt der Fehler?

