webForumDet fria alternativet

Skapad av och ändrad av

Webbutveckling

5 svar · 389 visningar · startad av Gislaved

Medlem sedan nov. 20041 740 inlägg
Frågan#1

Vilken teknik använder ni för att spara vem som har skapat och uppdaterat ett objekt? Just nu har jag användaren i sessionen och ändrar @objekt.updated_by i controllern, men det kanske är bättre att lägga det som before_save i modellen?

Kommentarer är välkomna.

Medlem sedan apr. 2001246 inlägg
#2

Just skapad av känns ganska naturligt att köra i controllern, men updated_by hade nog platsat i modellen. Har faktiskt inte använt before_.. mfl särskilt mycket.. Kanske borde kolla upp de närmare..

Medlem sedan nov. 20041 740 inlägg
#3

Jag tänkte mig följande

before_save :set_updater
def set_updater
  self.updated_by = session[:user]
end

Fast modellen har ju inte tillgång till sessionen, så jag antar att jag är fel ute.

Medlem sedan apr. 2001246 inlägg
#4

Är kanske ute och cyklar, men man kan inte skapa en helper typ :current_user och sätta den till sessionen? Antar att man inte kommer åt den i modellen ändå..

Medlem sedan nov. 20041 740 inlägg
#5

Nej, helpern är ju till för att skicka data till viewen inte till modellen.

Egentligen borde det ju gå, men så fort något är lite småkrångligt att göra i Rails brukar jag fråga mig om det egentligen finns en mycket smidigare lösning. Det brukar finnas en poäng med att saker är som de är.

Medlem sedan apr. 2001246 inlägg
#6

Mmm det är sant...

311 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
181 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)