iphone で消費される plist として表示するアクティブなレコード結果のリストを取得しようとしています。plist gem v 3.0 を使用しています。
私のモデルはポストと呼ばれています。そして、Post.all (または任意の配列または Posts) を Plist として正しく表示する必要があります。
1 つの Post インスタンスで問題なく動作しています: [ http://pastie.org/580902][1]
それは正しいです、私が期待することです。その動作を取得するには、次のことを行う必要がありました。
class Post < ActiveRecord::Base
def to_plist
attributes.to_plist
end
end
しかし、Post.all を実行すると、必要なものが表示されません。これが何が起こるかです: http://pastie.org/580909
私はマーシャリングを取得します。このような出力がもっと欲しい: [ http://pastie.org/580914][2]
結果セットを反復処理して、plist 文字列を追加するだけでよいと思います。しかし、醜いようです。これを行うためのよりエレガントな方法があると確信しています。
私は今Rubyに慣れていないので、エレガントな方法は私には明らかではありません. ActiveRecord をオーバーライドして、複数のレコードを取得する結果セットを ActiveRecord::Base to_plist に取り、別の to_plist 実装を作成できるようにする必要があるようです。Railsでは、これはenvironment.rbに入りますよね?