1

データベース内のテーブルから文字列を読み取り、アコーディオンパネル内のパネルのタイトルとして使用しようとしています。つまり、アコーディオン内のパネルの数は動的に変化する可能性があります。

これが私が試したことの要点です-https ://gist.github.com/1199695。Rubyクラスのエンドポイントを持つテーブルから名前を取得します。返されるデータには、アコーディオン内にPanelを追加するために呼び出されるクライアントJS関数(addPanelという名前)の文字列が含まれています。

コードは期待どおりに実行されますが、アコーディオン内のパネルが表示されません。

私の疑いは、アイテムがアコーディオンに入る前にレンダリングが行われていることです。

initComponent内にclass_name.items.add(new Ext.panel.Panel({:title "My panel"}))を介して追加をハードコーディングすると、アコーディオン内に「Mypanel」というタイトルのパネルが表示されます。

これが問題に取り組む正しい方法であるかどうか教えてください。

ありがとう

4

1 に答える 1

0

アコーディオンペインをNetzkeコンポーネントにする必要がありますか?そうでない場合は、次のようなものを試すことができます。

 def configuration #:nodoc:
    super.merge({
       # ...

       :items => some_model.all.map{|item| {:item => item.title}}
    })
  end

簡単に言うと、Ext.tab.Panelベースのクラスに動的アイテム構成(モデルから取得)を提供するだけです。

于 2011-09-08T21:06:09.523 に答える