我似乎无法将变量传递给rails(2.3.5)中的部分模板。我的代码如下;
在主视图.html.erb文件中:
<% f.fields_for :payments do |payment_form| %>
<%= render 'payment', {:f => payment_form, :t => "test" } %>
<% end %>
并在_payment.html.erb文件中:
<%= t %>
产生wrong number of arguments (0 for 1)
错误。 payment_form对象作为f传递给partial而没有任何问题。我已经尝试了上述语法的一些变体(例如:locals => {:f => payment_form, :t => "test" }
但没有成功。我认为我做了一些非常基本的错误但却看不到它。
答案 0 :(得分:2)
这可能是因为t()是用于I18n的保留视图辅助方法。只需将其重命名为更具描述性的内容
答案 1 :(得分:1)
尝试
render :partial => 'payment', :locals => {:t => 'test'}
答案 2 :(得分:1)
你试过吗?
<%= render 'payment', :f => payment_form %>
我不确定:t是什么用,但是rails显然说你应该只传递一个带有错误数量的参数(0表示1)错误的额外参数。