如何导入现有的ROR项目?

时间:2009-11-16 13:21:23

标签: ruby-on-rails import

我是Ruby on Rails的新手(PHP开发人员),我需要编辑现有的ROR项目。我一直在使用Aptana Studio进行我的PHP项目(在Aptana 2.0之后切换到Zend)但是我为我的ruby项目保留了Aptana RadRails。

所以我想要做的是从服务器获取ROR项目(它托管在某些Linux机器上)并将其导入RadRails以进行本地开发。我已从服务器下载文件并将它们导入到新的RadRails ROR项目中,但它无法按预期工作。还有什么我应该做的吗?我已经阅读了关于'冻结宝石',切换到生产模式并在发布时为ROR项目转储数据库的内容。撤消这些操作是否需要一些步骤?

更新: 我遇到的问题是,当我尝试在浏览器中显示不同控制器的页面时,我会遇到各种错误。

ActionController::InvalidAuthenticityToken in 
No :secret given to the #protect_from_forgery call.  Set that or use a session store capable of generating its own keys (Cookie Session Store).

OR

no such file to load -- xml
This error occurred while loading the following files:
   hotels_pro
   xml

这让我相信(也许)我没有得到所有文件。另一方面,我进行了双重检查,我收到了服务器上的所有文件。

谢谢,

1 个答案:

答案 0 :(得分:3)

RoR应用程序不仅仅是其源文件的总和。项目目录外还有数据库,gems和服务器。如果不知道究竟是什么,我们只能推测出哪些问题导致了问题。作为Rails的新手,可能就是他们所有人。如果在这之后你仍然没有启动并运行几轮“Google错误”应该会解决你的问题。

在继续之前,您需要在开发环境中设置这些内容。以下假设您有一个工作的ruby环境:rubygems与rails一起安装,以及rake gems。请注意,后面的任何命令和路径都与rails项目的根相关。

<强>数据库:

  • 首先编辑config / databases.yml,找出您的应用尝试连接的数据库。必要时更改它,以便命名本地数据库。如果数据库不存在$rake db:create

  • ,请创建该数据库
  • 如果您需要使用现有数据进行测试,可以从生产数据库中获取转储并将其导入工作数据库。如何执行此操作取决于相关数据库的类型。否则,您可以使用$ rake db:migrate运行迁移以生成开发数据库(假设先前的开发人员使用迁移设计了数据库。)

<强>宝石:

  • 检查config / environment.rb,查看所需宝石的列表。安装所有这些宝石(如果尚未安装)。

  • 如果您使用的是Rails 2.1或更新版本,则可以使用较新的config.gem 'this_gem'表单而不是较早的require 'this_gem'声明来确保所有宝石都是必需的,从而简化此过程。一旦所有必需的宝石都采用这种形式,您可以使用$ rake gems:install && rake gems:build确保它们全部安装完毕。

服务器

非常简单,所有的rails instalations都带有web brick,这对开发来说很好。但是杂种也适合。

P.S。如果你没有使用某种版本控制,强烈建议在开始之前设置一些东西。这不是一个要求,但它可能会在某些时候保存你的屁股。