ではないモデルクラスがアクティブレコードにバインドされています。がアクティブレコードにバインドされています。レール:アクティブなレコードにバインドされていないモデル
class ProcessingStatus
attr_accessor :status, :timestamp
end
モデルは処理ステータス保持者として機能し、最終的には呼び出しメソッドに戻ります。
これはアクティブなリソースメソッドとして呼び出されるため、これはxmlとして戻る(シリアル化され)必要があります。これはしかし、有効なXMLを返すようには思えない
def activate
@process_status = ProcessingStatus.new
if Account.activate(params[:account])
@process_status.status = "success"
else
@process_status.status = "fail"
end
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @process_status }
end
end
: はここに私のアクションメソッドです。
私がしようとすると、出力@process_status
return render :text => "The object is #{@process_status}"
場合、これは私が得るものです:
オブジェクトは#< ProcessingStatusです:>
0x00000005e98860
を教えてください私は何が欠けている。
編集#1、以下のコメントをもとに
、私はシリアライズライブラリを含めるように自分のコードを変更しました。
私は近づいています:) .xmlリクエストでは次のように出力されます。 私が割り当てた値は反映されません。
@process_status.status = "success"/"fail"
<processing-status><status>nil</status></processing-status>
しかし、私がjsonのリクエストをすると、正しいと思われます。
以下のようにあなたがあなたのモデルにメソッドto_xml
を定義する必要があり、またはシリアル化モジュールを含む
{"processing_status":{"status":"success"}}
'リターンはレンダリング:テキスト=>あなたはより多くの情報を持っている。ここ
「これはあまり役に立たないようだ。あなたのログやソースを見るだけで、 'format.xml'の出力を表示できますか? – s84