我正在尝试使用CGI将信息从文本表单移动到新的网页。为此,我在表单中将action
设置为action="new.html"
。然后,在我的.rb
文件的相关部分中,我有:
get "/new.html" do
@graph = Koala::Facebook::API.new(session[:access_token])
@app = @graph.get_object(ENV["FACEBOOK_APP_ID"])
if session[:access_token]
@query=CGI.new() # Line of interest
@input=@query["tool_1"] # Line of interest
end
erb :my_tools_F
end
post "/new.html" do
redirect "/new.html"
end
加载新网页,但@input
在.erb
文件中调用时,.erb
为空。在这部分脚本之前,我确实需要CGI。我的Web主机是Heroku,两个views
文件都位于名为{{1}}的目录中。该应用程序将在Facebook上推出。
示例代码为here。
答案 0 :(得分:1)
您似乎正在尝试获取表单的参数。我在这里有另一个答案,但这对你不起作用。您可以在没有cgi的情况下轻松完成此操作,您应该考虑使用内置方法来执行此操作。但是,在你做到这一点之前,我注意到你的github帖子中有一些错误。
您的文件夹Views
应为views
。小但很重要。我无法正确渲染页面。
在第33行的new.erb
和index.erb
上显示:
<input type="submit" value="Add"">
最后还有一个"
。只需将其删除即可:
<input type="submit" value="Add">
最后,要做你需要做的事情:
get "/new.html" do
erb :new
end
post "/new.html" do
@input = params[:tool_1]
erb :new
end
而不是你做了什么。在http://www.sinatrarb.com/intro找到params。