2014-10-04 41 views
0

我有一个stripe结帐表单,我需要定义金额。问题是我想要用户输入金额并保存输入的金额,但我似乎无法计算如何做到这一点,当我需要事先定义金额时...rails - 从视图输入更改控制器变量

在我的控制器#更新中,我初始化了:'@amount = 0'

有没有一种方法,当控制器#更新头的结帐表单可以接受来自用户的输入,它将改变@amount?

例如,用户想要的金额为500,并输入到这个金额的输入框中,当提交表单时,它将其注册到@amount中。

<%= form_tag artwork_path(@artwork.id), 
    method: :put do %> 
<script src="https://checkout.stripe.com/checkout.js" 
class="stripe-button" 
data-key="<%= Rails.configuration.stripe[:publishable_key] %>" 
data-description="Donate"></script> 
<% end %> 

回答

1

在你form_tag,创建一个标签为:amount,是这样的:

<%= text_field_tag :amount %> 

,如果您使用的是<%= submit_tag "Submit" %>:amount参数将被提交。将其分配给控制器中的@amount = params[:amount]以备将来使用。

+0

确实:数量必须在数据库/迁移中创建? – lightbots 2014-10-04 16:10:03

+1

不,你不知道。它只是允许:发送到控制器的金额。它不保存到你的数据库。 – 2014-10-04 16:11:41

+0

太棒了,我会测试一下。 – lightbots 2014-10-04 16:24:58

相关问题