Hey,
wie kann man in Observer auf instance Variablen zugrefen?
Ich baue gerade das “latest activity” feature in meine webapp ein und
habe
das versucht:
def after_destroy(bill)
activity = Activity.new
activity.category_id = 1
activity.user_id = @current_user.id
activity.save(false)
end
weis jemand wie das gehen könnte?
greets kalle
gar nicht, denn dein observer haengt am model und das hat keinen
zugriff auf @current_user, was vermutlich der gerade eingeloggte user
in deinem controller ist. stattdessen solltest du die user_id ueber
dein model bekommen, also bill.user_id oder sowas. zum thema rails
observer hab ich zufaellig gerade was zusammengeschrieben:
http://upstream-berlin.com/blog/2007/10/27/using-and-testing-activerecordrails-observers/
cheers,
alex
On 03/11/2007, at 15:34, kalle saas wrote:
end
weis jemand wie das gehen könnte?
greets kalle
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
Blog – Upstream - Agile ← blog
http://autoki.com/profile/alex ← autos 2.0
http://kommt-mit.de ← reisen 2.0
Hey, danke für den Tipp. leider brauchte ich aber gerade den
eingeloggten
user also mit acts_as_authenticated den @current_user …
Wie “immer” bietet ‘google’ die Lösung (wenn man weiss wonach man suchen
muss … 
das plugin: acts_as_audited.
ich habs mir noch nicht genau angeschaut aber Im plugin wird das Problem
wohl über sweeper gelöst.
greets kalle
puh, das klingt mir nach etwas zu viel aufwand nur um den eingeloggten
user zu tracken. wenn du den wirklich gar nicht ueber dein model
bekommst (vielleicht solltest du auch nochmal ueber dein model
nachdenken), kannst du immer noch ein attr_accessor :user an deine
bill haengen und dann im controller @bill.user = current_user machen.
alex
On 04/11/2007, at 01:07, kalle saas wrote:
cheers,
activity.category_id = 1
[email protected]
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
Blog – Upstream - Agile ← blog
http://autoki.com/profile/alex ← autos 2.0
http://kommt-mit.de ← reisen 2.0
Zorched / One-Line Fix | Making Session Data Available to Models in Ruby on Rails
tatsächlich wird in dem artikel erklärt wie das audit plugin
funktioniert.
sehr praktisch!
puh, das klingt mir nach etwas zu viel aufwand nur um den eingeloggten
user zu tracken.
das stimmt wohl. aber ich nutze das plugin nun auch um (fast) alle meine
modells zu beobachten, und dem user so feedback zu geben.
greets
kalle
Hallo,
ich habe dazu vor kurzem was gelesen und auch eingesetzt, funktioniert
auch gut:
mfg
Hi,
gar nicht, denn dein observer haengt am model und das hat keinen
zugriff auf @current_user, was vermutlich der gerade eingeloggte user
in deinem controller ist.
Ich habe dieses Problem gelöst, indem ich meinem User-Model ein Attribut
hinzugefügt habe:
class User < ActiveRecord::Base
…
cattr_accessor :current_user
…
end
Welches ich dann nach einem erfolgreichen Login-Vorgang im Application
Controller setze:
class ApplicationController < ActionController::Base
…
before_filter :set_user
…
def set_user
User.current_user = current_user
end
…
end
So habe ich zu jeder Zeit von überall die Möglichkeit auf den aktuellen
Benutzer zuzugreifen. Eventuell nicht der optimale “Rails-Weg”, aber für mich
hat das jetzt schon in mehrere Applikationen sehr gut funktioniert.
Timo
P.S.: Da dies mein erster Beitrag an die Liste ist: Hallo Liste 
–
Dipl.-Inform. Timo S.
Geschäftsführung
LINET Services GbR | Gotenweg 15 | 38106 Braunschweig
Tel. 0531-180508-0 | Fax 0531-180508-29
Vertretungsberechtigte Gesellschafter:
Moritz Bunkus, Philip Reetz und Timo S.
USt-IdNr. DE 206946144