我有一个页面,其中列出了用户拥有的一堆贷款,并且我希望在每个表单周围都有一个表单标签,因为他们可以对列出的任何贷款进行支付。
这就是我所犯的错误“未定义方法'贷款'......”
<% @loans.each do |loan| %> <% form_for loan add_payment_payment_path(loan) , :method => :post do |f| %> <%= f.text_field :amount, :placeholder => 'Amount' %> <%= f.submit 'Make Payment', :class => 'btn btn-primary'%> <% end %> <% end %>我如何在@loans.each循环中拥有动态form_for?
I have a page where I list out a bunch of loans that a user has and I want a form tag around each one of those forms because they can make a payment on any of the loans that are listed.
Here's what I have that is throwing the error "Undefined method 'loan'..."
<% @loans.each do |loan| %> <% form_for loan add_payment_payment_path(loan) , :method => :post do |f| %> <%= f.text_field :amount, :placeholder => 'Amount' %> <%= f.submit 'Make Payment', :class => 'btn btn-primary'%> <% end %> <% end %>How can i have a dynamic form_for inside my @loans.each loop?
最满意答案
你的form_for电话不正确,它应该是:
<% form_for loan, url: add_payment_payment_path(loan), method: :post do |f| %>您在loan后错过了逗号,因此它被解释为以add_payment_payment_path(loan)作为参数的方法。
另请注意,将url传递给form_for是通过options hash使用:url键完成的。 它不是一个单独的参数,因此传递它会得到wrong number of arguments (3 for 2)错误。
You're form_for call is incorrect, it should be:
<% form_for loan, url: add_payment_payment_path(loan), method: :post do |f| %>You're missing the comma after loan, so it's getting interpreted as a method with add_payment_payment_path(loan) as its argument.
Also note that passing a url to form_for is done via the options hash, using the :url key. It is not a separate parameter, and passing it as such will get you a wrong number of arguments (3 for 2) error.
更多推荐
发布评论