我是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
这让我相信(也许)我没有得到所有文件。另一方面,我进行了双重检查,我收到了服务器上的所有文件。
谢谢,
答案 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。如果你没有使用某种版本控制,强烈建议在开始之前设置一些东西。这不是一个要求,但它可能会在某些时候保存你的屁股。