私はいくつかのことを試しましたが、今週は私の脳が休日を過ごしているように感じ、これを完了する必要があります..誰かが私を助けてくれることを願っています.
データベースに保存されているハッシュに基づいてファイルリストを作成する必要があります。has は次のようになります。
['file1', 'dir1/file2', 'dir1/subdir1/file3']
出力は次のようになります。
- ファイル1
- dir1
- ファイル2
- サブディレクトリ1
- ファイル3
htmlでは、できればこのように(jsで折りたたみと複数選択に拡張するため)
<ul>
<li>file1
<li>dir1</li>
<ul>
<li>file2</li>
<li>subdir1</li>
<ul>
<li>file3</li>
</ul>
</ul>
</ul>
私は Ruby on Rails を使用しており、RJS テンプレートでこれを達成しようとしています。しかし、これは実際には問題ではありません。また、詳細な疑似コードについても教えてください。
誰かがこれを解決する方法を知っていますか?
編集
これらのソリューションを提供してくれた皆さんに感謝します。リストは機能します。ディレクトリの内容を表示/非表示にする折りたたみ式ソリューションに拡張しました。まだ問題が 1 つあります。コードは、同期用のエントリの背後にあるチェックボックスに完全なファイル パスを設定することを目的としています。sris のソリューションに基づいて、現在のファイルとそのサブのみを読み取ることができますが、ルートからのパス全体を読み取ることはできません。理解を深めるために:
現在:
[x] dir1
[x] dir2
[x] file1
私にくれます
テキストが表示されるのと同じ値のチェックボックス (例: [x] file1 の場合は "file1")。しかし、必要なのはフル パスです。たとえば、[x] file1 の場合は "dir1/dir2/file1" です。
誰かがこれを追加する方法について別のヒントを持っていますか?