2012-10-19 31 views
1

我有一个现有的静态HTML页面,我希望添加一个电子邮件注册表单。为了时间的利益,我不想重新创建页面作为视图。是否可以使用静态表单向Rails控制器提交新电子邮件?如何从静态页面将表单内容提交给Rails应用程序?

在HTML页面:

<form method="POST" action="" class="emails"> 
<input type="text" class="inputbox"> 
<input type="submit" value="Sign up" class="button" /> 
</form> 

现有的Rails控制器:

def create 
    @subscription = Subscription.new(params[:subscription]) 

    respond_to do |format| 
    if @subscription.save 
     format.html { redirect_to @subscription, notice: 'Subscription was successfully created.' } 
     format.json { render json: @subscription, status: :created, location: @subscription } 
    else 
     format.html { render action: "new" } 
     format.json { render json: @subscription.errors, status: :unprocessable_entity } 
    end 
    end 
end 

回答

2

上输入的name属性将决定params哈希键。

所以后来

<input type="text" name="foo"> 

将通过

params[:foo] 
+0

作品,谢谢!我必须用@subscription = Subscription.new(:email => params [:subscription])绕过stringify_error – thirdhaf

1

使用<input type="text" class="inputbox" name ="subscription[name]">假设名称为您的订阅表中的字段。

相关问题