Я использую rails4.2.0 на моем сайте электронной коммерции, когда пользователь отправляет свой тип оплаты, я хочу перенаправить внешний сайт. Поток ниже.ajax auto form submit with rails4
- пользователя выбрать тип оплаты
- использования нажмите кнопку представить - Аякс (формат JS) -
- перенаправления вне сайта с помощью POST METHOD
источника 2 и 3 являются как,
create.html.erb
<%= form_for(:user,:url => { controller: "settlements", action: "settlement"}, remote: true, html: {class: :settlement_form}) do |f| %>
<%= f.radio_button :settlement_type, 0 %>paypal
<%= f.radio_button :settlement_type, 1 %>credit card
<%= f.hidden_field :email, :value => @user.email %>
<%= f.hidden_field :fee_type, :value => @user.fee_type %>
<%= f.submit "Submit", data: { disable_with: "Please wait..." }, class: "btn btn-warning" %>
settlement_controller
def settlement
user = User.new(user_params)
if user.save
# parameters for outside website
@payment_params
else
render "new"
end
end
settlement.js.erb
var form = $('<form></form>',{id:"pay",action:'http://outside_ec_site_url/hoge',method:'POST'}).hide();
var body = $('redirect');
body.append(form);
form.append($('<input/>', {type: 'hidden', name: 'something', value: <%= @payment_params[:something] %>}));
form.append($('<input/>', {type: 'hidden', name: 'something', value: <%= @payment_params[:something] %>}))
form.submit();