2011-07-25 11 views
0

ではないモデルクラスがアクティブレコードにバインドされています。がアクティブレコードにバインドされています。レール:アクティブなレコードにバインドされていないモデル

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"}} 
+0

'リターンはレンダリング:テキスト=>あなたはより多くの情報を持っている。ここ

class ProcessingStatus include ActiveModel::Serialization attr_accessor :status, :timestamp end 

「これはあまり役に立たないようだ。あなたのログやソースを見るだけで、 'format.xml'の出力を表示できますか? – s84

答えて

関連する問題