如何从Rails应用程序创建可嵌入的HTML表单

时间:2013-06-13 20:07:28

标签: html ruby-on-rails embed

我想创建一个可嵌入的HTML <form>,它可以发送到rails控制器。此表单将嵌入非rails网站。

您采取了哪种方法来创建这样的表单?我应该使用<iframe>还是JS?还是完全不同的东西?

作为这个问题的第二部分,我还需要这个表单能够将事件“冒泡”到它嵌入的父页面中,这样我就可以捕获表单的所有字段拨打外部API,如Google Events或Marketo。

1 个答案:

答案 0 :(得分:2)

您可以只包含普通的HTML form,其动作设置为您需要的路线。

此表单将创建一个具有给定名称的员工:

<form action="http://example.com/employees?return_url=...some_url..." 
      method='post'>
    <input name="employee[name]" type=text/>
    <input type=submit value='create'/>
</form>

请确保在您的控制器中重定向回非导轨网站。当您的操作也在rails网站中使用时,您需要一些方法来指示您的操作应该重定向到哪里。

def create
   employee = Employee.create(params[:employee])
   if params[:return_url]
      redirect_to params[:return_url]
   else
      redirect_to employee_path(employee)
   end   
end

还要确保为该操作停用forgery_protection

class EmployeesController < ApplicationController
    skip_before_filter :verify_authenticity_token, :only => [:create]
    # actions
end