Ruby on Rails - 在我的项目中使用Themeforest Admin主题

问题描述 投票:2回答:2

我正在尝试为特定的利基构建CRM工具。我是一个完整的新手。这将是我的第一个应用程序。我唯一的编程经验是使用VB和MS Access,因此RoR提供了相当多的学习曲线。我已经完成了Michael Hartl的第一版Rails教程。 (实际吸收了约10%)

我买了一个Themeforest bootstrap管理主题,并有两个一般性问题:

1)主题中有一些PHP代码。我假设我应该在Ruby中重写这段代码,对吧?代码主要控制文件上传等内容 - 可以由经验丰富的程序员用Ruby重写的东西(对我来说,需要几个月:)

2)主题包含许多不同的页面。例如,一个页面是仪表板,另一个页面是日历。这两个页面之间都有很多重复 - 所有主要控制按钮等在页面之间保持不变。在主题中,每个页面都是一个不同的HTML文件,其中所有代码都是简单的复制。我假设我想在Rails中设置某种模板系统,这样我就不会在一堆HTML页面之间剪切和粘贴代码,对吧? (如果我更改主按钮,我只想在一个地方进行更改,而不是在此主题附带的20个HTML文件中的每一个。)

ruby-on-rails-3
2个回答
4
投票

1)

我不确定是否没有其他办法,但它最有可能是最简单的解决方案。

如果你必须重写Web应用程序中常见的东西,比如文件上传,通常会有一个宝石来帮助你,所以你不必从头开始做所有事情。我可以推荐paperclip gem,Railscast进行文件上传,因为我们在自己的项目中使用它。

注意:Railscast已过期,因此安装内容不再准确。此外,回形针需要ImageMagick才能工作。

Railscasts还涵盖了许多其他有用的宝石。如果你需要找到具体的东西,只需谷歌吧。然后,github页面通常会显示是否仍然保留了某个宝石,或者您是否还有更好的东西。

2)

Rails防止重复代码与partials。这是Railscast(语法可能自2008年以来发生了变化)。 Partials允许您将代码中的标题或按钮等代码放在文件中,然后可以在任何视图中呈现。

不幸的是,我无法链接其他内容,如github页面和Rubygems.org,因为我缺乏声誉。我希望这仍然有点帮助。


1
投票

将主题的公共元素提取到应用程序布局中。

将主题的模块化部分提取到自己的控制器和操作中。例如,为日历部分创建日历控制器,日历控制器中显示的操作将是支持日历的视图。您还可以使用partials(以'_'开头的视图),而无需创建控制器操作。但是如果有数据需要发送到视图,最好坚持使用普通的控制器操作和视图。

至于PHP代码,摆脱它,尽可能多的逻辑移动到你的模型和控制器,优先放入你的模型。正如hobo建议的那样,检查宝石以复制任何复杂的PHP代码的功能。

© www.soinside.com 2019 - 2024. All rights reserved.