1

ユーザーが持っているローンの一覧を表示するページがあり、一覧にあるローンのいずれかで支払いを行うことができるため、それらの各フォームの周りにフォーム タグが必要です。

これが私が持っているもので、「未定義のメソッド「ローン」...」というエラーがスローされます。

<% @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 を使用するにはどうすればよいですか?

4

2 に答える 2

1

form_for メソッドに 2 つの構文エラーがあります。ローンの後にカンマがなく、 add_payment_payment_path(loan) の後に余分なスペースがあります

<% form_for loan add_payment_payment_path(loan) , :method => :post do |f| %>

これをに変更

<% form_for loan, add_payment_payment_path(loan), :method => :post do |f| %>

ほとんどの場合、Ruby の括弧は省略可能ですが、スペースを 1 つだけ保持する必要があります。これは、括弧付きの同じ form_for メソッドです。

<% form_for(loan, add_payment_payment_path(loan), :method => :post) do |f| %>
于 2013-05-17T06:23:08.013 に答える