开发者

Local variable not being passed to partial template by render?

开发者 https://www.devze.com 2022-12-27 10:55 出处:网络
I don\'t seem to be able to pass a variable to my partial template in rails (2.3.5). My code is as follows;

I don't seem to be able to pass a variable to my partial template in rails (2.3.5). My code is as follows;

In the main view .html.erb file:

<% f.fields_for :payments do |payment_form| %>
    <%= render 'payment', {:f => payment_form, :t => "test" } %>
<% end %>

and in the _payment.ht开发者_Go百科ml.erb file:

<%= t %>

produces a wrong number of arguments (0 for 1) error. The payment_form object is being passed to the partial as f without any problems. I've tried a number of variations on the above syntax (e.g. :locals => {:f => payment_form, :t => "test" } without success. I presume I'm doing something pretty basic wrong but just can't see it.


It's probably because t() is a reserved view helper method used for I18n. Just rename it to something more descriptive


Try

render :partial => 'payment', :locals => {:t => 'test'}


Have you tried <%= render 'payment', :f => payment_form %>

I'm not sure what the :t is for, but rails is obviously saying that you should only be passing in one extra parameter with the wrong number of arguments (0 for 1) error.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号