2012-07-11 53 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代码的功能。