Ich bin auf Sinatra und ich verstehe nicht, wie bei meinem Problem umgehen:Sinatra vor Filter
Ich möchte „Senden“ eine benutzerdefinierte Nachricht kräuseln, wenn er auf einem falschen Weg zu gehen versuchen.
curl http://localhost:port/blabla Es ist ein Fehler 404, aber ich will, dass ihm etwas wie senden ‚Fehler versuchen, anderen Pfad‘
ich mit dieser versucht:
before'/*' do
if (params[:splat].to_s =~ /path_i_want/) != 2
'wrong path'
end
end
oder mit raise 404
aber es funktioniert nicht .
Könnten Sie mir bitte helfen?
Grüße.
Warum die ' ! = 2'? Welcher Char erwartet Sie bei Index '1' und' 0'? Soll der Regexp mit der gesamten Zeichenfolge oder nur einer Teilzeichenfolge übereinstimmen? Ich frage, weil es schneller ist, Zeichenfolgen zu vergleichen, die eine Regexp verwenden. – spickermann
Ja, ich sollte Vergleich statt Regexp verwenden. aber ich löse mein Problem nicht. Ich weiß nicht, wie es geht. – echo55
Haben Sie darüber nachgedacht, 'puts params.inspect' hinzuzufügen, um zu untersuchen, ob der Splat tatsächlich gefangen wird? – spickermann