调用rails隐藏字段标记内的javascript函数

调用rails隐藏字段标记内的javascript函数,javascript,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,braintree,Javascript,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,Braintree,我正在一个简单的网站上建立Braintree。Braintree是一个支付平台。在示例中,他们使用hiddel_field_标记,如下所示: <%= hidden_field_tag :tr_data, Braintree::TransparentRedirect.transaction_data( :redirect_url => confirm_payment_url, :transaction => {:type => "sale", :amount =&g

我正在一个简单的网站上建立Braintree。Braintree是一个支付平台。在示例中,他们使用hiddel_field_标记,如下所示:

<%= hidden_field_tag :tr_data, Braintree::TransparentRedirect.transaction_data(
  :redirect_url => confirm_payment_url,
  :transaction => {:type => "sale", :amount => @amount }
) %>
但它不起作用。正如您所看到的,我仍然处于rails的学习阶段。所以问题是,如何更改变量或向隐藏的\u字段\u标记添加函数?我也可以用javascript设置:amount=>变量,但还不能这样做。

我在Braintree工作。我们错过了这个问题,但希望您联系或解决了您的问题

Braintree::TransparentRedirect.transaction_数据方法在呈现表单之前在服务器上运行,因此它需要的是实际金额,而不是稍后计算并返回金额的字符串

此外,您通常不能/不应该在交易数据之外设置客户端/外部的金额。这将允许某人在浏览器中更改金额,并提交他们想要的任何金额的交易——这是你想要避免的,因为这可能会花费你的钱

既然您发布了这个问题,我们已经启动了一个程序,允许您将整个表单发布到您的服务器上,并在那里验证金额是否有效。我建议在任何新的集成中使用该集成方法,或者在需要对支付流进行其他更改时升级到该集成方法

<%= hidden_field_tag :tr_data, Braintree::TransparentRedirect.transaction_data(
  :redirect_url => confirm_payment_url,
  :transaction => {:type => "sale", :amount => "return amountFunction();" }
) %>
function amountFunction()
{
  var amount = $('input[name=optionsRadios]:radio:checked').val();
  return amount;
}