是否有一种在SInatra中拥有持久表单数据的简单方法?或者是否需要我将表单变量写入文件并手动读取?

时间:2016-10-31 00:15:26

标签: ruby sinatra

我在Sinatra有一个带有4个文本字段的表单。当页面关闭然后重新打开时,我想用上次提交的值填充文本字段。

我目前正在通过将每个变量写入同一文件夹中的文件来执行此操作,然后在程序启动时将其读回。我想知道是否有更简单的方法来做到这一点。

Ruby / Sinatra中是否已经实现了一个系统,允许我将表单数据写入文件,然后以某种方式将其读回来?

1 个答案:

答案 0 :(得分:2)

在sinatra中处理此类情况的最佳方法是使用会话而不必将其写入文件并检索它。 在配置块中启用会话。

configure do
 enable :sessions
 set :session_secret, "secret"
end

在前一栏中

before do
  session[:user_input] ||= []
end

然后传递sessions对象中的用户输入值。只要用户会话处于活动状态,就可以从中检索它。