在提交表单之前可以添加一些参数吗?
我的问题是我需要将票证ID发送给我的付款控制人员。
可能是通过隐藏的输入字段发送它,但还有其他任何安全的方法来实现这一目标吗?
任何帮助将不胜感激。
感谢。
购票的过程 0)选择事件 1)用户选择他想要购买的票种。 2)用户添加他的个人信息 3)最后Checkout(支付控制器)
答案 0 :(得分:2)
因此,您要生成以下表单提交所需的故障单ID。是最好将其保存在隐藏变量中。
但除此之外,你可以将生成的票证ID存储在会话中,并在使用后销毁。
如果此票证ID一次对于特定会话是唯一的,那么您可以使用会话ID 键将其存储在数据库中,并且可以在提交表单时检索并清除ID。 / p>
如果可能,则在提交表单时生成票证ID 。这样就不存在将票证ID存储在隐藏变量或会话或数据库中的问题。
实际上可能还有很多其他方法,但要提供完整且具体的建议,请分享更多您的方案。
更新:
根据您的更新,我认为您需要维护running_transactions
表。
它会有
event_id
(指向所选事件)ticket_type_id
(指向用户想要购买的门票类型)ticket_id
(由您的算法生成的唯一ID)person_details
(指向用户提供的详细信息)id
:此表的唯一标识符。现在开始购买过程
running_transaction
条目。 running_transaction
条目。running_transaction
标记为completed
。您可能已经有了跟踪这些信息的内容,因此您也可以在该表中使用上述方法。也许你会找到比我提供的更好的名字:)
答案 1 :(得分:0)
我已经在我拥有的应用中完成了这项工作。
<td><%= @competencys[index].name %></td>
<%= f.hidden_field :student_id %>
<td>
<%= f.radio_button :score, '4' %>
<%= f.hidden_field :rating_id, :value => @competencys[index].ratings[0].id %>
<%= @competencys[index].ratings[0].description %>
</td>
这可能有点难以理解,但在这个例子中我创建了一个结果,它有一个student_id字段和一个rating_id字段。在student_id的情况下,这个字段已经与:student_id符号(来自控制器)相关联,所以我只是用f.hidden_field
分配它。在rating_id的情况下,我无法在控制器中分配它,并且需要“动态”执行,因此代码...
<%= f.hidden_field :rating_id, :value => @competencys[index].ratings[1].id %>
所以在这里你可以看到我使用这个:值符号直接在视图中指定rating_id。不确定这是否有帮助,但我想我会分享。祝你好运!