リダイレクトの代わりにレンダリングすると、結果が表示されるようなフォームがあります。送信時にリダイレクトする代わりにフォームをレンダリングする方法を教えてください。
ですので、フォームをリダイレクトしないでください。これはレールで可能かどうか誰かが知っていますか?
Pac: <%= @pac %>
Sedex: <%= @sedex %>
<%= form_tag calculate_ship_path, :method => "get" do %>
<%= text_field_tag :post_code%>
<% end %>
順序コントローラとアクションは次のとおり:
形態である
def calculate_ship
frete = Correios::Frete::Calculador.new cep_origem: "#{@order.seller.post_code}",
:peso => "#{@order.product.weight}",
:comprimento => "#{@order.product.weight}",
:largura => "#{@order.product.weight}",
:altura => "#{@order.product.weight}",
cep_destino: params[:post_code]
servicos = frete.calcular :sedex, :pac
@pac = servicos[:pac].valor
@sedex = servicos[:sedex].valor
render '/path/to/rails/app//orders/:id/checkout'
end
とルートがある:
get '/path/to/rails/app//orders/:id/checkout', to: 'orders#checkout', as: :calculate_ship
だけ明確にするために、フォームがリロードしたり、新しいページに移動せずに同じページに表示され返されたデータを提出し、持って持って見ていますか? – octopushugs
こんにちは@octopushugs、はい。 – bookaka