什么是Sinatra相当于Rails的redirect_to
方法?我需要按照Post/Redirect/Get流程进行表单提交,同时保留传递给我视图的实例变量.使用该redirect
方法时,实例变量将丢失.
inc*_*ude 54
Sinatra中的重定向是最简单易用的.
所以下面的代码可以解释:
require 'rubygems'
require 'sinatra'
get '/' do
redirect "http://example.com"
end
Run Code Online (Sandbox Code Playgroud)
您也可以像这样重定向到当前应用程序中的另一个路径,但此示例将删除方法.
delete '/delete_post' do
redirect '/list_posts'
end
Run Code Online (Sandbox Code Playgroud)
使用此重定向指令的一个非常常见的位置是"身份验证"
def authorize!
redirect '/login' unless authorized?
end
Run Code Online (Sandbox Code Playgroud)
您可以在以下位置查看更多示例
至于你的第二个问题,将变量传递给视图,可能是这样的:
get '/pizza/:id' do
# makeing lots of pizza
@foo = Foo.find(params[:id])
erb '%h1= @foo.name'
end
Run Code Online (Sandbox Code Playgroud)