0

彼がフォームに入力しているユーザーデータを使用する必要がありますが、保存する必要はありません。

User モデルに属性アクセサーを追加しました。

   attr_accessible :paypal_email, :first_name, :last_name
   attr_accessor :first_name
   attr_accessor :last_name

しかし、ユーザーがフォームを送信した後にどのように使用できますか? アカウントの詳細を確認する必要がありますが、保存していないため、コントローラーで使用する必要があります

 @user.first_name and @user.last_name

私の検証アクション:

   def verify

 @user = User.find(params[:user_id])
 require 'httpclient'
 require 'xmlsimple'

 clnt = HTTPClient.new

header =  {"X-PAYPAL-SECURITY-USERID" => "№№№№№№№№",
               "X-PAYPAL-SECURITY-PASSWORD" => "333333333",
               "X-PAYPAL-SECURITY-SIGNATURE" => "3333333333",
               "X-PAYPAL-REQUEST-DATA-FORMAT" => "NV",
               "X-PAYPAL-RESPONSE-DATA-FORMAT" => "XML",
               "X-PAYPAL-APPLICATION-ID" =>  "APP-2J632856DC989803F"
                }

data = {"emailAddress" => @user.paypal_email,
       "firstName"=> @user.first_name,
       "lastName" => @user.last_name,
       "matchCriteria" => "NAME",         
       "requestEnvelope.errorLanguage" => "en_US"}

 uri = "https://svcs.paypal.com/AdaptiveAccounts/GetVerifiedStatus"
 res = clnt.post(uri, data, header)
  @xml = XmlSimple.xml_in(res.content)

 if res.status == 200
    if @xml['accountStatus']!=nil
      account_status = @xml['accountStatus'][0]
      if account_status == "VERIFIED" 
        redirect_to :back
        flash[:success] = "Your account is verified"
      else 
        redirect_to :back
        flash[:error] = res.content
      end

    else
      redirect_to :back
      flash[:error] = res.content
  end  
  else 
    flash[:error] = "Oops! Can't conntect to PayPal"
end

end

とエラー:

   Invalid request parameter: lastName</message><parameter>lastName

どうすればそれができますか?

4

2 に答える 2

0

あなたの質問を正しく理解すれば、それは非常に簡単です。

フォーム (HTML) ページで入力された first_name と last_name データを検証する必要があります。

たとえば、html フォームのそれぞれの入力フィールドの名前を form_first_name および form_last_name として指定したとします。

コントローラー内でそれぞれ params[:form_first_name] と params[:form_last_name] を使用して、簡単にアクセスできます。

于 2012-08-30T13:15:59.317 に答える
0

あなたの場合は、form_tag を使用する必要があります。form_tag は、どのモデル オブジェクトにも関連付けられていない詳細をアップロードするために使用されます。

于 2012-08-30T11:57:56.343 に答える