从html.erb表单运行php脚本

时间:2016-07-19 22:51:26

标签: php html ruby-on-rails ruby

您好我正在尝试将数据从html.erb文件(在我的ruby on rails网站上)发布到php脚本中,我想知道这是否可行。到目前为止,我得到了#34; Missing Template"当我从我的html.erb文件中尝试这段代码时

  <form method="POST" action="uam_handle_form">
          <input type="text" name="email" placeholder="Enter email address" id="email" class="email-input">
          <input type="hidden" name="password">
          <%= hidden_field_tag :authenticity_token, form_authenticity_token %>

          <div class="connect">
            <button type="submit">CONNECT</button>
            <label class="control control--checkbox">Opt in all marketing communications from X
              <input type="checkbox" checked="checked"/>
              <div class="control__indicator"></div>
            </label>
          </div>
        </form>

其中&#34; umm_handle_form&#34;是一个php文件。我相信我已经在rails上正确设置了路由,因为如果我将文件扩展名更改为html.erb,则页面呈现虽然是纯文本php。

有什么办法可以通过此表单提交发布,接收和运行php文件?谢谢!

1 个答案:

答案 0 :(得分:0)

这个问题类似于Run a php script in ruby on rails,虽然这个问题询问如何在从视图运行时从控制器运行php。另一个问题有一个公认的答案,那就是通过系统命令(反引号)从Ruby服务器运行PHP脚本。

因此,您应采取的步骤如下:

通过AJAX将您的表单提交给Rails控制器端点,该端点运行您的php脚本,如下所示:

width:calc(25% - 2px);

然后在您的AJAX回调中,阅读@script_result_string = `php script` render json: { result: @script_result_string }.to_json 以将结果作为字符串获取。

如果您尝试使用PHP运行浏览器代码,这可能不是一个可接受的解决方案。我认为这样做并不容易。换句话说,你必须将你的PHP代码限制为仅服务器的东西。