ruby – 将帖子数据传递给Sinatra中的其他页面
发布时间:2020-12-17 03:28:55 所属栏目:百科 来源:网络整理
导读:这似乎工作正常: 意见/ index.haml: %form{:method = 'POST' :action = '/'} %label{:for = 'name'} Name: %input{:type = 'text,:value = @values[:name] || ""} %input{:type = 'submit'} app.rb: post '/' do @values = params haml :reviewend 意见/
这似乎工作正常:
意见/ index.haml: %form{:method => 'POST' :action => '/'} %label{:for => 'name'} Name: %input{:type => 'text,:value => @values[:name] || ""} %input{:type => 'submit'} app.rb: post '/' do @values = params haml :review end 意见/ review.rb Hello #{params[:name]}! 但是,当我尝试将我的后期数据发送到不同URL上的相同视图时,我收到错误,或者换句话说: app.rb: post '/' do @values = params redirect '/review' end get '/review' do @values = params haml :review end 数据未通过,但未引发错误. 如何在这样的页面之间发送后期数据?理想情况下,我不想创建数据库. 解决方法
您可以将参数存储在会话中或显式指定查询字符串.
Browser Redirect from Sinatra Documentation
如文档中所述,您可以使用会话或将POST参数转换为查询字符串,并在重定向方法中使用它.一个粗略的例子是: 假设’/’块内的POST参数哈希是: { :name => "Whatever",:address => "Wherever" } 这个哈希可以像这样的字符串: query = params.map{|key,value| "#{key}=#{value}"}.join("&") # The "query" string now is: "name=Whatever&address=Wherever" 现在在帖子里面用’/’做吧 redirect to("/review?#{query}") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |