2010-04-03 81 views
10

我開始研究爲了構建用於Rails應用程序的用戶級插件系統(如Wordpress插件)所需的內容,所以我會欣賞一些常規指針/諮詢。通過用戶級別的插件,我的意思是用戶可以將一個包提取到一個文件夾中,並將其顯示在管理界面上,從而允許他們添加一些額外的配置並將其激活。構建Rails應用程序的擴展框架

要做到這一點,最好的方法是什麼?有沒有其他的開源項目已經這樣做了? Rails本身已經爲程序員級別的插件提供了什麼?任何可以幫助我的Rails插件?

一個插件必須能夠:

  • 運行其自己的遷移(?與this是無證)
  • 有我的模型(插件已經這樣做了)
  • 訪問有添加內容到視圖的入口點(可以用content_for and yield完成)
  • 更換整個觀點或諧音(如何?)
  • 提供自己的管理和麪向用戶的意見(如何?)
  • 創建自己的路由(或者只是宣佈它的存在,讓創建它的路線,以避免插件踩在對方的腳趾上)

還有什麼我失蹤了?

此外,有沒有一種方法來限制哪些表/動作插件訪問有關遷移和模型,同時也限制了他們的路線接入(也許讓它們包括,但不刪除路由)?

P.S .:我會盡量保持這個更新,編譯我想出來的東西和相關答案,以便爲其他人提供一種指導。

+0

在我看來,你對單個問題的要求太多。如果你把它分成幾個,你可能會得到更多的答案。 – kikito 2010-04-03 15:56:19

+0

我認爲添加自己的寶石依賴也是必不可少的。 – lulalala 2015-05-03 07:31:01

回答

3

您可能想要查看mephisto,這是一個使用ruby on rails構建的博客軟件,並且具有附加插件支持。不知道它是如何工作的,你可能會給你一些很好的見解。信息來源可在GitHub找到。

3

你應該看看deface寶石。它允許定製欄目視圖,通過鉤子添加內容並替換整個視圖/部分。施普雷正在使用這個寶石,所以你也可以看看spree。除了美景,他們也有定製的應用程序,所以你可以找到更多回答您的問題的其他解決方案。