【发布时间】:2013-11-21 14:11:09
【问题描述】:
Rails 4 有问题。我在 Rails 3 中使用了这段代码。现在,我在另一个应用程序中使用相同的 Rails 4,我收到消息“参数数量错误(4 对 5)第一行。
<%= form_for :customer,
:url => Braintree::TransparentRedirect.url,
:params => @result && @result.params[:customer],
:builder => ApplicationHelper::BraintreeFormBuilder,
:errors => @result && @result.errors.for(:customer) do |f| %>
<%= field_set_tag "Customer" do %>
<dl>
<dt><%= f.label :first_name, 'First Name' %></dt>
<dd><%= f.text_field :first_name %></dd>
<dt><%= f.label :last_name, 'Last Name' %></dt>
<dd><%= f.text_field :last_name %></dd>
<dt><%= f.label :phone, 'Phone' %></dt>
<dd><%= f.text_field :phone %></dd>
</dl>
<% end %>
<%= field_set_tag "Credit Card" do %>
<% f.fields_for :credit_card do |cc| %>
<dl>
<dt><%= cc.label :number, 'Number' %></dt>
<dd><%= cc.text_field :number %></dd>
<dt><%= cc.label :expiration_date, 'Exipration Date (MM/YY)' %></dt>
<dd><%= cc.text_field :expiration_date %></dd>
<dt><%= cc.label :cvv, 'CVV' %></dt>
<dd><%= cc.text_field :cvv %></dd>
</dl>
<% end %>
<% end %>
<%= hidden_field_tag :tr_data, @tr_data %>
<%= f.submit 'Save Payment Info' %>
<% end %>
编辑:问题似乎来自“builder: ApplicationHelper::BraintreeFormBuilder”,
【问题讨论】:
-
@SergioTulentsev 在第一行
-
请发布完整的堆栈跟踪(或者更好的是,自己查看并检查您调用产生错误的方法的位置并修复您的调用)
-
Ruby 1.8 语法在 Ruby 2.0 中仍然有效吗?尝试使用
url:而不是:url => -
@John 是的,当然 hashrocket 语法仍然有效。这似乎不是问题。
-
@john,我尝试使用 url:、params: 等...它不能解决问题
标签: ruby-on-rails ruby ruby-on-rails-4 braintree