Я строил рынок и имею форму для сбора банковских реквизитов от продавцов, чтобы мы могли перечислить платежи.Rails 4 Синтаксис формы для маркера банка Stripe Bank -
Одним из параметров полосы является имя продавцов, которое представляет собой входной сигнал формы. Когда я отправляю форму, контроллер считывает это имя только в том случае, если он уже хранится в базе данных (т. Е. Если я вручную укажу имя в db, а затем запустим форму). Если имя еще не существует, оно дает мне сообщение о том, что мне нужно ввести имя для создания маркера полосы.
Как изменить форму/метод, чтобы имя было доступно для полосы, когда пользователь попадает в submit?
Вот мой метод обновления: ошибка находится в строке с : name => current_user.bankaccname. Это ввод в форме, вставленной ниже.
def update
Stripe.api_key = ENV["STRIPE_API_KEY"]
token = params[:stripeToken]
recipient = Stripe::Recipient.create(
:name => current_user.bankaccname,
:type => "individual",
:bank_account => token
)
current_user.recipient = recipient.id
current_user.save
respond_to do |format|
if @user.update(user_params)
format.html { redirect_to edit_user_url, notice: 'Your account was successfully updated.' }
else
format.html { render action: 'edit' }
end
end
end
моя форма:
<%= form_for @user, url: user_path, html: { method: :put } do |f| %>
<div class="form-group">
<%= f.label :name %><i> (as it appears in your bank account)</i>
<%= f.text_field :bankaccname, class:"form-control" %>
</div>
<div class="form-group">
<%= label_tag :country %>
<%= text_field_tag :country, nil, { :name => nil, :'data-stripe' => "country", class: "form-control" } %>
</div>
<div class="form-group">
<%= label_tag :routing_number %>
<%= text_field_tag :routing_number, nil, { :name => nil, :'data-stripe' => "routingNumber", class: "form-control" } %>
</div>
<div class="form-group">
<%= label_tag :account_number %>
<%= text_field_tag :account_number, nil, { :name => nil, :'data-stripe' => "accountNumber", class: "form-control" } %>
</div>
<div class="form-group">
<%= f.submit "Submit", class:"btn btn-primary" %>
</div>
<% end %>
поэтому где iz проблема.? u может вручную ввести bankaccname в форме, если не присутствует ?, а затем отправить. –
Я имел в виду, что если я пойду на консоль и введите имя банковского счета в пользовательской модели, то отправьте форму, она работает. Таким образом, полоса читает имя из db, но не через форму. Есть ли способ сохранить имя в db, а затем вызвать функцию stripe? – Moosa
u можете написать: name => current_user.bankaccname || user_params ["bankaccname"] –