我有一个存储在 _form 部分中的表单,该表单显示在两页中。页面 A 和页面 B。
该表单运行良好,并使用 GET 正确发布到当前页面。
但是,当我在页面 A 上,提交表单并转到页面 B 时,该页面不会保留值,因为参数尚未发布到它。
我是否应该使用会话来保留页面 A 中的搜索表单参数并在加载时将它们设置在页面 B 上?
我有一个存储在 _form 部分中的表单,该表单显示在两页中。页面 A 和页面 B。
该表单运行良好,并使用 GET 正确发布到当前页面。
但是,当我在页面 A 上,提交表单并转到页面 B 时,该页面不会保留值,因为参数尚未发布到它。
我是否应该使用会话来保留页面 A 中的搜索表单参数并在加载时将它们设置在页面 B 上?
解决这个问题的最好方法是在会话中(如果它非常小),或者在隐藏字段中(如果它有很多内容,比如多行表单)。
您可以从控制器将参数从页面 A 传递到页面 B
class SomeController < ApplicationController
def action1
<do smething>
redirect_to action2(:param1 => params[:param1], :param2 => params[:param2])
end
def action2
end
end
您可以在 Page2 的视图中使用 params 散列来填充字段。