2012-07-11 83 views
2

我正在嘗試爲特定的利基構建一個CRM工具。我是一個完整的新手。這將是我的第一個應用程序。我唯一的編程經驗是使用VB和MS Access,因此RoR呈現出相當的學習曲線。我已經完成了Michael Hartl的Rails教程的第一個版本。 (和實際吸收它的約10%)Ruby on Rails - 在我的項目中使用Themeforest管理主題

我買了Themeforest引導管理員主題,上就有兩個一般性問題:

1)主題具有在它的一些 PHP代碼。我假設我應該在Ruby中重寫這段代碼,對吧?代碼主要控制文件上傳等事情 - 可以由經驗豐富的程序員以相當快的速度重新編寫的東西(對於我來說,這將需要幾個月的時間:)

2)主題包含許多不同的頁面。例如,一個頁面是儀表板,另一個是日曆。這兩個頁面之間都有很多重複的內容 - 所有主控按鈕等都在頁面之間保持不變。在主題中,每個頁面都是一個不同的HTML文件,其中所有的代碼都被簡單地複製。我假設我想在Rails中設置某種模板系統,這樣我就不會在一堆HTML頁面之間剪切和粘貼代碼,對吧? (如果我改變一個主按鈕,我只希望做出的改變在一個地方,而不是在每一個與這個主題來了20個HTML文件。)

回答

4

1)

我不確定是否沒有其他方法,但它很可能是最簡單的解決方案。

如果你必須重寫網絡應用中常見的東西,比如文件上傳,通常會有寶石來幫助你,所以你不必從頭開始做所有事情。我可以推薦回形針寶石,Railscast用於文件上傳,因爲我們在我們自己的項目中使用它。

注:Railscast已過時,所以安裝的東西不再準確。此外,回形針需要ImageMagick工作。

Railscasts還涵蓋了很多其他有用的寶石。如果你需要找到具體的東西,只需谷歌它。然後,github頁面通常會揭示是否仍然保留了一顆寶石,或者如果您更擅長其他事情。

2)

滑軌防止複製的代碼與泛音。這裏是Railscast(從2008年起語法可能已經改變)。通過Partial,您可以將文件中的標題或按鈕等代碼放入文件中,然後可以在任何視圖中對其進行渲染。

不幸的是,我不能鏈接其他的東西,如github頁面和Rubygems.org,因爲我缺乏聲譽。我希望這仍然有所幫助。

+0

很棒,謝謝 – user1516273 2012-07-11 16:57:01

1

將主題的常見元素提取到應用程序佈局中。

將主題的模塊化部分提取到他們自己的控制器和操作中。例如,爲日曆部分創建日曆控制器,日曆控制器中顯示的操作將是支持日曆的視圖。您也可以使用partials(以'_'開頭的視圖),而不必創建控制器操作。但是如果有數據需要發送到視圖,最好使用正常的控制器操作和視圖。

至於PHP代碼,擺脫它,將盡可能多的邏輯移入您的模型和控制器,並優先放入您的模型。正如hobo建議的,查看gem來複制任何複雜的php代碼的功能。