Hallo
Ich habe auf meinem Mac das Ruby Framework installiert.
Den Server hab ich auf dem Desktop intsalliert.
Mit ruby script/generate controller Say
einen Kontroller Say generiert
ruby script/server webrick zeigt der Brwoser auch an das der Server läüft.
Habe eine Class SayController im Verzeichnis Controller gespeichert und unter app/views/say/hello.html.erb
eine HTML Seite mit textuellem Inhalt gespeichert
Wenn ich nun http://localhost:3000/say/hello aufrufe habe ich gestern die Meldung bekommen Template is Missing und heute Unknown action.
Hallo unknown action bedeutet, dass du im SayController keine entsprechende Methode definiert hast.
Viel Erfolg
Andreas
hab doch im Kontroller die Klasse mit der Funktion hello
class SayController
Hello, Rails! Hello from Rails!
Hallo borijee,
‚hello‘ gehört sicherlich nicht zu den Standard-Routes. Schau Dir doch mal die config/routes.rb an. Da stehen auch viele Beispiele drin.
HTH
John
Hallo,
du musst Rails sagen, dass es eine action mit dem namen hello gibt. Die gibt es nämlich standardmäßig nicht.
Das geht im einfachsten Fall mit
def hello
end
in der controllerdatei (bei den anderen actions).
Mehr Infos dazu gibts hier:
http://guides.rubyonrails.org/routing.html
Viele Grüße
Hallo Sokratesius
Ich habe eine solche Funktion
hab doch im Kontroller die Klasse mit der Funktion hello
Gespeichert: demo1/app/controllers/say_controller.rb
class SayController
Hello, Rails! Hello from Rails!
Hallo,
Ich habe auf meinem Mac das Ruby Framework installiert.
Den Server hab ich auf dem Desktop intsalliert.
Mit ruby script/generate controller Say
einen Kontroller Say generiert
ruby script/server webrick zeigt der Brwoser auch an das der
Server läüft.
Habe eine Class SayController im Verzeichnis Controller
gespeichert und unter app/views/say/hello.html.erb
eine HTML Seite mit textuellem Inhalt gespeichert
Wenn ich nun http://localhost:3000/say/hello aufrufe habe ich
gestern die Meldung bekommen Template is Missing und heute
Unknown action.
Ich bin zwar auch kein Rails-Experte (nur Ruby), aber soweit ich weiß, muß der Controller für jede View eine gleichnamige Methode („action“) haben, die die Daten für die View zur Verfügung stellt. In Deinem Fall also erstmal nur:
class SayController
Create eine neue Methode im SayController folgend:
def hello
end
und im config/route.rb musst du diese route registrieren, da hello nicht zu den standard-rest-methoden gehört. übrigens, die controller werden immer mit mehrzahl benannt. Wie folgt:
map.resources :says, :controller => ‚Says‘, :collection => {:hello => :get}
Server vielleicht nochmals neu starten…
Hi,
sorry, von Rails habe ich leider keine Ahnung.
Viele Grüße
Ralf