Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Ramaze und Sinatra routings
BeitragVerfasst: 16 Jun 2009, 02:13 
Offline
Geselle
Benutzeravatar

Registriert: 14 Aug 2005, 23:03
Beiträge: 120
Wohnort: Stuttgart
Hi,

Ich schaue mir gerade im zuge der Planung eines Projektes Sinatra und Ramaze an, da ich meine Webanwendung gerne modular aus mehreren kleinen Anwendungen zusammenbauen moechte.

Besonderes Augenmerk lege ich derzeit auf das Routing und das mappen auf classes/methoden.
Nur finde ich da gerade nicht wirklich viel hierzu bei den besagten Frameworks.

bei Sinatra soll wohl folgendes gehen

map '/' do
run some_app
end

map '/other' do
run other_app
end


Ich denke das man sich damit schon was recht huebsches zusammenbauen kann zumal man ja sonst recht frei in der url Vergabe ist.

Nur bei Ramaze konnte ich bis jetzt noch nicht wirklich was ueber die routen herausfinden. Ich weiss bis jetzt nur das der controller name und action name direkt in die url uebertragen werden.
Kann man da auch kompliziere routes machen? evl. welche die auch nicht heissen wie die actions selbst?

Wenn jemand tipps zum umsetzen meines Vorhabens hat oder weiss wie man bei Ramaze die Routes bissle besser configurieren kann, bitte melden ;)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Ramaze und Sinatra routings
BeitragVerfasst: 16 Jun 2009, 12:21 
Offline
Interpreter
Benutzeravatar

Registriert: 05 Jun 2005, 01:54
Beiträge: 3225
[TDO] hat geschrieben:
bei Sinatra soll wohl folgendes gehen

map '/' do
run some_app
end

map '/other' do
run other_app
end
Das ist nicht Sinatra, sondern Rack::URLMap. Sollte also auch mit Ramaze so funktionieren.

_________________
alias L lambda
p L{|y|L{|f|y[L{|x|f[f][x]}]}[L{|f|y[L{|x|f[f][x]}]}]}[L{|z|L{|l|l.empty?? 0:1+z[l.drop(1)]}}][%w]
#=>10

Nuclear Powered Soup | Nuclear Powered Blog


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Ramaze und Sinatra routings
BeitragVerfasst: 16 Jun 2009, 12:31 
Offline
Geselle
Benutzeravatar

Registriert: 14 Aug 2005, 23:03
Beiträge: 120
Wohnort: Stuttgart
ja aber bei Sinatra kann ich danach die urls trotzdem noch recht frei waehlen, wie das jedoch bei Ramaze damit aussieht ist ja das was ich nirgends finden kann.
Ich kenne bei Ramaze eben nur die standard Einstellung, waere doch aber traurig wenn man da nicht selbst hand anlegen koennte... ich hab in der Doku zwar das hier gefunden http://doc.rubyists.com/ramaze/Ramaze/AddressableRoute.html
aber wirklich was steht da auch nicht.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Ramaze und Sinatra routings
BeitragVerfasst: 18 Jun 2009, 15:28 
Offline
Geselle
Benutzeravatar

Registriert: 14 Aug 2005, 23:03
Beiträge: 120
Wohnort: Stuttgart
ich will mal kein neues Thema aufmachen deswegen verwerte ich einfach dieses hier...

und zwar begreiffe ich einfach irgendwie das zusammenspiel von Sinatra und Rack nicht so ganz...
Ich moechte ja modular kleinere applicationen mit rack#map zu einer grossen app zusammensetzen...
nun bin ich grad nen bissle am rumspielen mit Sinatra und Rack und bekomme es einfach nicht hin


# start.rb
require "rubygems"
require "sinatra"
require "rack"

require "lib/common"
require_all_apps

builder = Rack::Builder.new do
map '/blog' do
run Blog::Post
end
end

Rack::Handler::Mongrel.run builder, :port => 4567



# apps/blog/root.rb

module Blog
class Post < Sinatra::Base
get '/huhu' do
"huhu"
end
end
end


Ich verstehe nicht was ich machen muss um das 'map' im toplevel zu haben und auf den Rack::Builder verzichten zu koennen... und ausserdem startet das ganze nicht... ich bekomm auch keine Fehlermeldung...

koennte mir bitte einer erklaeren wie das ganze funktioniert und am besten auch nen bissleTheorie dahinter.. irgendwie finde ich keine brauchbare Doku zu dem Thema

danke und gruessle
TDO


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Ramaze und Sinatra routings
BeitragVerfasst: 19 Jun 2009, 13:12 
Offline
Interpreter
Benutzeravatar

Registriert: 05 Jun 2005, 01:54
Beiträge: 3225
# blog.rb
module Blog
class Post < Sinatra::Base
get '/huhu' do
"huhu"
end
end
end
# config.ru
require 'rubygems'
require 'sinatra'

require 'blog'

map "/blog" do
run Blog::Post
end

$ rackup config.ru # Sollte automatisch Mongrel verwenden, ansonsten mit "-s mongrel" starten

# In einer anderen Shell:

$ curl localhost:9292/blog/huhu
huhu

_________________
alias L lambda
p L{|y|L{|f|y[L{|x|f[f][x]}]}[L{|f|y[L{|x|f[f][x]}]}]}[L{|z|L{|l|l.empty?? 0:1+z[l.drop(1)]}}][%w]
#=>10

Nuclear Powered Soup | Nuclear Powered Blog


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: