Rails link_to - No action responded

Üdv!

Rails-szel szeretnék összehozni egy egyszerűbb weboldalt, a felhasználókezelésnél a bejelentkezés sikerül, viszont a kijelentkezésnél a következő hibaüzenetet kapom:
"Unknown action

No action responded to show. Actions: ..., logout, ..."

A link_to pedig a következőképp néz ki: <%= link_to("Kijelentkezes", :controller => "user", :action => "logout") %>

Valaki tudja, mi lehet a gond?

Hozzászólások

Az user controllerben nincs logout action. Írd hozzá és a használt auth osztály leírása szerint léptesd ki benne a felhasználót. Például:


def logout
session[:user] = nil
flash[:message] = 'Logged out'
redirect_to :action => 'login'
end

UI: lehetne már a hupra egy normális kód beillesztési lehetőséget tenni.

--
http://sandor.czettner.hu

A redirect_to kivételével ez volt a kódban.
Közben az lett a vége, hogy a config/routes.rb file-ba beleírtam egy map.logout sort felparaméterezve és most már működik. Azért nem tiszta, mert eddig nem kellett hozzányúlnom ehhez a file-hoz, enélkül is működött minden.

Gyanitom REST kontrollert generaltal amibe uj metodust hoztal letre.

a routes.rb -ben van valami ilyesmi:
map.resource :user

ezt bovitsd ki vhogy igy:
map.resource :user, :collection => { :logout => :post }

es valahogy igy hivatkozz ra:
link_to("Kijelentkezes", logout_user_path, :method => :post)

Ez a POST -tol meg nem igazan RESTful, de ez most mind1.

Így bővítettem ki: map.logout 'logout', :controller => 'user', :action => 'logout'. Ezzel már működik. A személyes adatok szerkesztésnél is ugyan ezt csinálja, viszont, amikor az aktiválást, vagy mást írtam meg előtte, akkor nem kellett semmit sem hozzáírnom a routes.rb-hez.
Úgy csináltam meg, hogy script/generate model user; script/generate controller user;, ha jól emlékszem.

Igen, a "generate controller" mar REST kontrollert hoz letre, abbol adodik ez a bonyodalom, hogy nem azt a metodust hivja amit szeretnel.

Egyik lehetoseg, hogy megtanulod a Rails REST mukodeset. Masik lehetoseg, hogy nem hasznalod a "generate controller" -t, hanem siman az IDE -bol hozod letre a konyvtarakat/fajlokat nullarol, ez kezdokent siman megfelelhet. Harmadik lehetoseg az lehetne, hogy hasznalod a "generate controller" -t, de a routes.rb -bol kiszeded a map.resource sort amit betesz. Ekkor a generalt kontroller-vaz nem fog mukodni atalakitas nelkul, ezt nem javaslom.
Amit most csinalsz, az mukodik, de gany. Ha kesobb megerted a Rails REST mukodeset, akkor ujra akarod majd irni az egeszet amit most csinalsz. :)

A Rails -t ujabban minden szinten atszovi a REST filozofia, elsore folosleges bonyolitasnak tunik, de ha megerti az ember a lenyeget, akkor kesobb sokat segit a tervezesben es foleg a karbantartasban.

Még egy kérdés, ami nem világos: a változónevek előtt a @ jel mit takar?

Arra gondoltam, csinálok egy űrlapkészítő webes alkalmazást, ami annyit tud, hogy kérdéseket lehet hozzáadni, meg lehet adni azokra lehetséges válaszokat (legordülő lista vagy kipipálható elemek a kérdés alatt), illetve egy a kérdéshez egy beviteli meezőt lehessen hozzáadni, majd ezt szeretném menteni például xml-be.
Tudnátok segíteni, ennek hol tudok utánanézni?