1

我正在尝试使用 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在这部分脚本之前,我确实需要 CGI。我的网络主机是 Heroku,这两个.erb文件都在一个名为views. 该应用程序旨在在 Facebook 上启动。

示例代码在这里

4

1 回答 1

1

您似乎正在尝试获取表单的参数。我在这里有另一个答案,但这对你不起作用。你可以在没有 cgi 的情况下轻松地做到这一点,你应该考虑使用内置的方法来做到这一点。但是,在您这样做之前,我注意到您的 github 帖子中有一些错误。

您的文件夹Views应为views. 小但很重要。我无法正确呈现页面。

在您new.erbindex.erb第 33 行上,它显示:

<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上查找参数。

于 2012-10-25T05:50:47.027 回答