您好我正在尝试将数据从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文件?谢谢!
答案 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代码限制为仅服务器的东西。