2011-08-20 7 views
1

私はextjs 4とレール3を使用しています。私はコンボボックスとデータビューを含むフォームを持っています。コンボボックスの項目を選択すると、データベースからのデータビューに画像が表示されます。私はtplを静的な画像のためにうまく動作しようとしました。しかし、どのように動的に同じを取得するには?データビューとテンプレートのExtjs 4コンボボックスとtplを使用したデータビュー

コード::

{ 
       xtype: 'dataview', 
       store: 'MyStore', 
       id:'viewer', 
       autoHeight:true, 
       tpl: imageTpl, 
       itemSelector: 'div.thumb-wrap', 
       fieldLabel: 'Choose State', 
       emptyText: 'No images available' 
      }, 

var imageTpl = new Ext.XTemplate(
    '<tpl for=".">', 
     '<div style="thumb-wrap">', 
      '<img src="/images/rails.png" align="right" />', 
     '</div>', 
    '</tpl>' 
); 

任意の提案?

ありがとうございます!

+0

モデルは何ですか?あなたもそのコードを投稿できますか? – Daan

答えて

0

(ファースト:「ディレクトリのmystore」は、おそらく文字列ではなく、実際のExtJSのデータストアへの参照ではありませんあなたはおそらく、引用符は必要ありません)

データストアは、いくつかのモデルの項目のリストが含まれています。テンプレート内のそのモデルのフィールドは、フィールド名を称号{}の間に置くことで読むことができます。

「URL」フィールドにモデルを仮定すると、テンプレートは、これは次のようになります。

var imageTpl = new Ext.XTemplate(
'<tpl for=".">', 
    '<div style="thumb-wrap">', 
     '<img src="/images/{url}" align="right" />', 
    '</div>', 
'</tpl>' 
); 

詳細については、このチュートリアルを試してみてください:http://www.sencha.com/learn/legacy/Tutorial:Getting_Started_with_Templates

+0

"/ images/{url}"はパブリックフォルダのイメージを読み込みます。 – Rashmi

+0

コントローラーを/ images URLにマップしない限り、はい。 Rails経由で画像を送信する方法については、この質問を参照してください:http://stackoverflow.com/questions/5228238/rails-how-to-send-an-image-from-a-controller – Daan

関連する問題