2016-05-06 6 views
0

メールテンプレートをRailsからMandrillに変換しています。そのためにはかなりの量のデータが必要です。その中のいくつかはいくつかの関連付けによってネストされています。以下に可変類似order下マンドリルテンプレートに通過RailsからMadrillに変数としてオブジェクトを送信する

[{ 'name'=>'order', 'content'=> @order.to_json(include: 
               { user: { only: :first_name } }, 
                methods: [:method1, 
                  :method2, 
                  :method3, 
                  :method4]) 
}] 

したがって、私は、次のような(簡略化)として、マンドリルのglobal_merge_varsを介してオブジェクトを渡したいです

{"id":11,"number":"xxxx","item_total":"112.0"... 
"user":{"first_name":"Steve"},"method1":"£0.00","method2":"£112.00", 
"method3":"£112.00","method4":"£0.00"} 

問題がある、私は(ハンドルバーを使用して)order以内に何もアクセスすることができない、すなわち{{order.id}}{{order['id']}}など文句を言わない仕事。

いくつかの要素がコレクションとその関連であるため、データを多数の変数に分割することはできません。

"global_merge_vars"=>[{"name"=>"order", "content"=>"{\"id\":11, 
\"number\":\"xxxx\",\"item_total\":\"112.0\"... 

私ができる」: - したがって、JSONオブジェクトを壊す - の次のスニペットを経由して送信されているもの

私は変数はマンドリル用にコンパイルされたときにすべてが文字列化されたような問題が発生したと考えていますこれに対処するためのドキュメンテーションや提案があるようですので、この性質のデータを渡すことが可能かどうか、もしそうなら、正しく渡してMandrillテンプレートのオブジェクトにアクセスできるようにしてください。どんなアドバイスも大歓迎です!

スティーブ。

+0

を| *変数* |' –

+0

おかげ@pitabasprathal、私の代わりにハンドルバーの構文を使用している - それが違いを生むでしょうか? – SRack

答えて

1

この試してください:あなたは `のようにアクセスすることができます

[{ 'name'=>'order', 'content'=> JSON.parse(@order.to_json(include: 
              { user: { only: :first_name } }, 
               methods: [:method1, 
                 :method2, 
                 :method3, 
                 :method4])) 
}] 
+0

それは、助けてくれてありがとう!不思議なことに、私はこれを試していましたが、私は自分のハンドルバーの構文が間違っていました。正しく動作しないorder ['id'] 'を' order.id'で探していました。 2つを組み合わせることで、私はどこにいる必要があります。とても有難い。 – SRack

関連する問題