2011-03-22 14 views
2

我正在試驗Dancer一段時間,並尋找合適的模塊來構建我的應用程序。框架往往具有平坦的示例應用程序,並且一次處理一個表。所以我不知道應該使用哪些工具來構建一些更復雜的CRUD表單。哪個表單生成器處理數據和動態輸入的多對多關係?

假設我創建了Booklovers應用程序。它應該有一個表格來添加/編輯作者。爲了彌補這一點,我需要我們的數據庫中的3個表格:booksauthorsbooks_to_authors。建立一個表單來與作者一起添加一本書的最好方法是什麼?

注:

  • 它不知道一本書可能有多少作者有,我們需要動態添加行的。
  • authors表可能有成千上萬的記錄,所以select表單元素不適合。
  • 作者可能會在我們的數據庫中丟失,我們需要動態添加它們。

所有這些動態部分都需要一些AJAX。有沒有一個很好的解決方案將它與Perl中的表單創建工具集成?我看着CGI::FormBuilder,我仍在尋找,但我沒有找到可以爲所描述的3個連接表格構建表格的東西。動態的客戶端部分仍然需要被覆蓋。

對於這樣一個非常簡單的情況,是否有一些最佳實踐?

回答

0

似乎這是一個不知何故太複雜的問題,有簡單的解決方案。

我堅持使用不同的jQuery插件的模板表單和generete動態部分。

我不認爲這是最好的方式,但現在還沒有看到更好。

2

AJAX用於在Web瀏覽器中呈現數據,但不影響後端數據存儲。

booksauthors表有一個many-to-many relationship, using ORMs such as DBIx-Class可以幫助。

在Web窗體中,有一個新的bookauthors的集合。在服務器端,創建book,然後將authors添加到book

瀏覽DBIx::Class cookbook獲取一些建議。

對不起,沒有提供一個簡單的答案來解決您的問題。

+0

我認爲當你選擇你的積木時,AJAX是重要的考慮因素。一些已經有很好的綁定(比如'CGI :: FormBuilder'),所以它會讓你的應用更加穩定。我避免了ORM,因爲我在幾年前查看了DBIx,並且遇到了麻煩(unicode支持和連接來自多個數據庫的表)。不過,我會再看一遍。謝謝! – 2011-03-23 15:34:44

+0

調整:'CGI :: FormBuilder'具有JavaScript綁定,不直接連接到某些AJAX庫AFAIK。 – 2011-03-23 15:44:06

+0

看來你是經驗豐富的程序員。你會考慮nosql嗎?自己構建表單可能比我們更有效地將sql綁定到表單的表單工具工具。使用最小的框架,如mojolicios http://mojolicious.org/使事情變得更容易。你也可以看看CGI :: Ajax。 – Weiyan 2011-03-24 04:22:02