Ü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?
- 1238 megtekintés
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Kezdokent sztem ne hasznalj REST kontrollert, akkor semmit nem kell beleirnod a routes.rb -be, siman hivhatod az osszes kontroller metodust GET/POST -al.
- A hozzászóláshoz be kell jelentkezni
Egy lentebbi hozzászólásomban írtam, hogy hoztam létre, nem tudom, REST controllert generált-e, vagy sem.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Í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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Még egy kérdés, ami nem világos: a változónevek előtt a @ jel mit takar?
- A hozzászóláshoz be kell jelentkezni
Példányváltozó. Ha egy controllerben van, akkor az elérhető view-ből is.
- A hozzászóláshoz be kell jelentkezni
Azok a peldanyvaltozok. Amig a peldany (instance) el, addig megorzi a valtozo erteket. A nezetnek a kontrollerbol csak peldanyvaltozokkal tudsz erteket atadni, a kontroller lokalis valtozoit a nezetben mar "nem latod".
- A hozzászóláshoz be kell jelentkezni
Köszönöm a választ! :)
- A hozzászóláshoz be kell jelentkezni
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?
- A hozzászóláshoz be kell jelentkezni
up
- A hozzászóláshoz be kell jelentkezni
Ehhez én nem nyúlnék Railshez. Ha a hosting oldalon fut ruby, írhatsz rá egy egyszerű ruby-s cgi scriptet.
A Rails út az lenne, hogy a formot megcsinálod, ami aztán adatbázisba ment és az adatbázisból generálsz egy xml-t.
- A hozzászóláshoz be kell jelentkezni