【问题标题】:Rails: Forcing form tag to use an HTTPS actionRails:强制表单标签使用 HTTPS 操作
【发布时间】:2011-06-15 15:45:40
【问题描述】:

尝试使用 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 操作路径?

谢谢。

【问题讨论】:

    标签: ruby-on-rails forms ssl https


    【解决方案1】:

    原来我使用了错误的语法。

    代替

    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”。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多