У вас есть проблема здесь:
Parameters: {"utf8"=>"✓", "amount"=>{"{:placeholder=>\"Total bid amount\", :autofocus=>true}"=>"1111"}, "commit"=>"Confirm offer", "id"=>"sam-lipp-abandonment"}
В ваших параметрах вы отправляете параметры суммы, но в сумме вы отправляете HTML-форму "amount"=>{"{:placeholder=>\"Total bid amount\", :autofocus=>true}"=>"1111"}
, но должны отправлять только значение, заданное вами в форме суммы, и ваши параметры суммы должны выглядеть следующим образом! "amount"=>"1"
Так что это означает, что ваша форма не работает правильно!
Попробуйте заменить свою форму на этот, и в контроллере вы получите сумму!
<%= form_for @new_item, url: checkout_transaction_path do |f| %>
<%= f.label :amount %>
<%= f.text_field :amount, placeholder: "Total bid amount", autofocus: true %>
<%= submit_tag "submit" %>
<% end %>
ИЛИ тот же код для form_tag
<%= form_tag checkout_transaction_path do %>
<%= label_tag :amount %>
<%= text_field_tag :amount, placeholder: "Total bid amount", autofocus: true %>
<%= submit_tag "Submit Post" %>
<% end %>
Проблема в вашей форме может быть здесь:
Вы написали text_field
вместо text_field_tag
Также для формы form_for
вам нужно добавить в контроллер метод с переменной, который вы будете использовать в своей форме, например, я использую переменную @new_item
, откуда вы вызываете эту форму, что-то вроде это
def new
@new_item = Item.new
end