1
我有一个应用程序需要访问者填写表单,然后重定向到第二个页面。客户不希望访问者注册查看此页面,只填写表格。Ruby on Rails - 表单提交中的会话变量
我试图做到这一点的方式是在页面被访问时创建一个会话变量,然后在下一页可访问之前检查变量是否存在。是否有可能延迟创建会话变量,直到处理提交操作?如果是这样的话会是什么样子?
另外,任何人都可以想到一个更好的方法来做到这一点?对不起,这可能是一个愚蠢的问题。
我有一个应用程序需要访问者填写表单,然后重定向到第二个页面。客户不希望访问者注册查看此页面,只填写表格。Ruby on Rails - 表单提交中的会话变量
我试图做到这一点的方式是在页面被访问时创建一个会话变量,然后在下一页可访问之前检查变量是否存在。是否有可能延迟创建会话变量,直到处理提交操作?如果是这样的话会是什么样子?
另外,任何人都可以想到一个更好的方法来做到这一点?对不起,这可能是一个愚蠢的问题。
会话cookie将在第一次提交后声明。
我认为第一次提交会加载controller#action
,然后您将在重定向到下一页。刚刚成立的会议有:
#app/views/forms/1.html.erb
<%= form_tag form_1_submit_path do %>
...
<% end %>
这将允许你做到以下几点:
#app/controllers/forms_controller.rb
class FormsController < ApplicationController
def form_1_submit
session[:value] = params[:value]
redirect_to form_2
end
end
因此你必须session[:value]
完全准备好下一个表格上使用:
#app/views/forms/2.html.erb
<%= form_tag .... do %>
<%= text_field_tag :test, value: session[:value] %>
<% end %>
你想如何处理他访问过你的网站的用户?1小时/ 1天/ 1年前? – BroiSatse
最好我希望他们填写表格,如果它已经超过一个小时或两个小时。 – jpdvi