0

Show ビュー内に 2 つのフォームがあります。Amazon支払いAPIへの投稿である2番目のフォームに変数を渡す必要があります。

私が持っているコントローラで:

   def show
     @post = Post.find(params[:id])
     respond_to do |format|
     format.html # show.html.erb
     format.json { render json: @post }
     end
   end

ビューでは、最初のフォームに変数が表示されます。

  <%= form_for(@post) do |f| %>
  <p>
  <b>referenceId:</b><br />
  <%= @post.referenceId %>
  </p>
  <% end %>

このフォームでは、上記の @post.referenceId を使用して referenceId の変数を設定する必要があります。どんな助けでも大歓迎です!

  <form action="https://authorize.payments-sandbox.amazon.com/pba/paypipeline"       method="post">
  <input type="hidden" name="referenceId" value=@post.referenceId >
  <input type="image" src="http://g-ecx.images-amazon.com/images/G/01/asp/golden_medium_paynow_withmsg_whitebg.gif" border="0">
  </form>

ありがとう!

4

2 に答える 2

1

あなたのケースで何をしたいのか具体的にはわかりませんでしたが、変数を別のフォームに渡すために、それをパーシャルに入れてから:

<%= render :partial => "second_form", :locals => { :my_var => my_value} %>
于 2012-09-16T14:25:23.390 に答える
0

@post create メソッドで JS で応答し、非表示の入力値を変更できます。

最初にリモートを使用するようにフォームヘルパーを変更します

<%= form_for @post, :html => {:remote => true, :'data-type' => 'script'} do |f| %>

次に、コントローラーに追加します

  respond_to do |format|
    format.html 
    format.js
  end

次に、create.js.erb の新しいビューを追加します。

ビューの非表示の参照 ID を変更するには、JavaScript を追加します。

お役に立てれば。

于 2012-09-16T01:23:38.323 に答える