Hallo, ich habe 2 Probleme ein größeres und ein kleiners.
Ich fange mal mit dem großen an. Ich habe in meiner User-Klasse die auf eine externe Datenbank zugreift das Problem das ich auf ein Feld nicht zugreifen kann.
Es ist das Feld created_at, das ich als DateTime behandle
1 2 3 4 5 6 7 8 9 10 11
|
... attr_accessor :created_at , :password; attr_writer :uid, :gid; attr_reader :user, :dir; ... def initialize(params={}) ... @created_at=DateTime.now ... end ...
|
Immigration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
class CreateUsers < ActiveRecord::Migration def change create_table :users do |t|
t.string :user
t.string :password
t.integer :uid
t.integer :gid
t.string :dir
t.datetime :created_at
end
end end |
Das Anlegen funktioniert. Das Abfragen leider nicht.
Im Debuger wird das Attribut für das Objekt auch angezeigt:
1 2 3 4
|
@attributes=Hash (13 elements) ... 'created_at' => 2015-12-14 11:26:58 +0100 ...
|
Gibt allerdings immer nil zurück, was ich als GelegenheitsRubyaner leider nicht verstehe.
Zu meinem zweiten Problem, dem Mappen von Attributen.
Es liegt darin, dass in der Datenbank einige Felder nicht der Rails-Schreibweise entsprechen.
So muß ich den Username beispielsweise so abfragen:
Gibt es die Möglichkeit das Attribut 'User' auf 'user' zu mappen?
Hier ist zum Verständnis auch noch der Auszug der DB-Table:
1 2 3 4 5 6 7 8 9 10
|
Columns: id int(11) AI User varchar(32) PK Password varchar(64) Uid int(11) Gid int(11) Dir varchar(255) ... created_at datetime
|