1

在我开始从头开始构建某些东西的过程之前,我很好奇是否有人遇到过为 Rails 应用程序提供首次配置向导的方法,该向导允许用户(系统管理员)配置应用程序的各个方面,例如 ActiveRecord配置和 ActionMailer 设置(SMTP、发件人等)。

我们希望为新安装提供一种简洁的方法来进行设置,而不是要求客户端编辑文件或在命令行上运行脚本。

从本质上讲,您应该能够下载应用程序、解压缩、启动它,当您通过浏览器访问它时,您会被引导完成初始设置步骤。

我的问题不在于如何做到这一点,而是更多的人已经这样做了。我围绕这个想法快速搜索 gem、插件等并没有出现太多。

编辑/澄清

为了澄清这种情况 - 这是为了支持由客户的系统管理员在本地下载和安装的“收缩包装”产品。

当他们第一次访问我们的应用程序后,我们需要一种友好的方式来配置其安装的特定设置,例如数据库等。

这种过程的一个例子是 JIRA 的设置向导:

https://confluence.atlassian.com/display/JIRA/Running+the+Setup+Wizard

这不是为了重新开发新的 Rails 应用程序,或者系统化我们的开发过程。

4

2 回答 2

1

我非常喜欢Rails Templater。它是一个用于构建 Rails 应用程序的命令行工具。它会问你一些问题,比如“你想使用 rspec 吗?Pry 而不是 IRB?”
我创建了一个 fork,它添加了身份验证、twitter bootstrap 和backbone.js 以及其他一些选项。如果您有特定需求,很容易破解。我一直在使用它,我讨厌没有它。
它当然是一个命令行应用程序,不能通过浏览器使用,但也许它仍然可以满足您的需求。或者代码库可以集成到客户端 Web 应用程序中。

评论后更新
您可能能够引导一个 sqlite 数据库,以便应用程序可以启动,然后只需使用表单或向导来设置写入您的 database.yml 和其他配置的东西,可能通过 thor (追加/替换文件中的文本很简单,是 rails 的一部分)。您需要以某种方式重新启动 rails 应用程序并迁移数据库。您可以在 Gemfile 中保留pgor mysql2gem(或两者),或者再次使用 thor 从您的向导/表单中编辑它们。

我还建议按照 Michael 的建议使用 rails_config。有了上面的解决方案。

如果我有更多的时间来考虑这个问题,我可能会想出一些更干净的东西,但如果我现在必须这样做的话,我会这样做。

于 2013-01-17T01:22:43.980 回答
0

http://railswizard.org/允许您选择要使用的 gem。这是一个非常创新的使用 ui 和同位素宝石来选择组件。同样,另一个观点是前 10 名:http ://blog.teamtreehouse.com/10-must-have-ruby-gems

您永远找不到明确的 gem 列表,因为需要因人而异并且随着时间的推移而变化,例如,您的公司使用的数据库和“当前”最佳身份验证 gem 都是可变的。

对于配置特定的设置,您可以通过使用减少配置的做法来减少配置。例如,database.yml 文件通常是“必须在本地编辑”文件之一。我们通过将其名称放在我们的 .gitignore 文件中来从源代码控制中排除 database.yml 的方法。我们添加了一个 database.yml.example 文件,我们将其复制到本地 database.yml 并在该文件中使用锚点 (&) 和引用 (*),如下所述:http: //blog.geekdaily.org/2010/08/高级 yaml-tricking-out-your-databaseyml.html

为每个环境配置其他变量的更多选项:http: //kpumuk.info/ruby-on-rails/flexible-application-configuration-in-ruby-on-rails/

rails config gem也可以帮助您,如下所述:如何在 rails 中定义自定义配置变量

于 2013-01-17T00:59:04.367 回答