Rails:强制表单标记使用HTTPS操作

时间:2011-06-15 15:45:41

标签: ruby-on-rails forms ssl https

尝试使用rails中的form_tag帮助程序提交到SSL地址。目前,我的代码如下所示:

form_tag(form_action_path) do
# This spits out:
<form action="form_action_path" method="post">

如果我试试这个:

form_tag(form_action_path, :protocol => 'https', :only_path => false)
# It spits out:
<form action="form_action_path" method="post" protocol="https" only_path="false>

这当然不是有效或有价值的结果。如何使表单标记助手呈现出https操作路径?

感谢。

2 个答案:

答案 0 :(得分:2)

事实证明我使用了错误的语法。

而不是

form_tag(form_action_path, :protocol => 'https')

我需要

form_tag(form_action_url(:protocol => 'https'))

显然,不同之处在于form_action_path生成类似“/ path / to / action”的内容,form_action_url生成“http://url.com/path/to/action。”

答案 1 :(得分:0)

您可以在创建/更新操作中使用SSL_Requirement之类的内容。似乎SSL_Requirement较旧(不是需要更新,它不是非常复杂),但可能有更新的宝石/插件,人们现在更喜欢。