- 该项目应该在一个月内完成,而且对时间非常敏感。 1 个月的时间足以在 RoR 中学习和建立网站吗?
如果它对时间敏感,请坚持你所知道的。也就是说,Rails 有很多插件来处理图像上传之类的事情,这可能会为你节省大量时间。 Rails 有“脚手架生成器”,可以在单个命令中创建基本的 CRUD 应用程序:
./script/generate scaffold title:text description:text when:datetime
..将生成控制器/视图来创建/编辑/删除项目。然后,您可以轻松地将看起来更漂亮的 HTML 包装在它周围,添加身份验证(通过 restful_authentication),并且您可能会在几个小时内完成您的应用程序..
- 编写直接 SQL 查询是我的强项之一,我想使用它。我听说如果我直接编写 SQL 查询,使用 RoR 会很痛苦。这是真的?或者我可以说执行一个查询,给我结果(作为列表或字典),然后我会告诉你如何呈现它们?
在极少数情况下您需要使用 ActiveRecord 编写 SQL,但您可以。 RoR 仍然是 Ruby 代码,因此如果您真的需要编写原始 SQL(但几乎肯定不需要),您可以随时使用 MySQL 库并取消 ActiveRecord。
- 我听说 RoR 确实在内存中加入,并且不使用数据库提供的功能。这是正确的吗?
没有理由 ActiveRecord 不能通过 SQL 查询执行 JOIN,the ActiveRecord::Associations::ClassMethods 提到通过 JOIN 执行的关联。
此外,即使它确实通过内存进行 JOIN,但无论 Rails 存在多久,它都运行良好..
- 我需要创建一个显示大量图像、视频和 Java 小程序的网站。 RoR 会妨碍我这样做吗?
没有。它们都只是 HTML 的一部分,Rails 可以像任何其他框架一样轻松地输出它们。
- 我可以使用 PHP 框架。这是一个坏主意吗?如果不是,哪个 PHP 框架在编程便利性方面最接近 Rails。
当然。如果您不使用 Rails,请使用 PHP 框架!
我建议不要根据“与 Rails 的接近程度”来选择框架。 PHP 不是 Ruby。 尝试将框架“移植”(以某种方式)到另一种语言很少像为该语言编写框架那样奏效。 p>
正如我评论 Chuck 的回答,“CodeIgniter 和 Zend 是很好的 PHP 网络框架。CakePHP 是一个很好的 Ruby on Rails 模仿”..
我发现 CodeIgniter 感觉更像 PHP(以一种很好的方式),它的文档也是我用过的任何项目中我最喜欢的!
Zend 框架非常模块化,您可以将 Zend 的一部分放入现有的 PHP 应用程序中,或者使用它的 MVC 路由系统。
CakePHP 似乎试图让 PHP 像 Ruby 一样工作,而不是制作一个与 PHP 完美匹配的框架。
话虽如此,您使用 Ruby on Rails 的原因是社区(以及所有围绕它的插件和东西)。
例如,paperclip 插件使图像上传表单(以及缩略图)变得非常容易。要使用它,您添加(到您的模型):
has_attached_file :photo, :styles => {:thumb=> "100x100#", :small => "150x150>" }
然后在您的视图中,您希望上传表单的位置,添加:
<% form_for :user, :html => { :multipart => true } do |f| %>
<%= f.file_field :photo%>
<% end %>
就是这样。
我建议花一天时间在 Rails 中做一些简单的事情。有无数很棒的教程(Railscasts 是一个很好的、随机的示例)和大量关于它的书籍。看看你喜不喜欢,如果不喜欢,试试 CodeIgniter、Zend 或 CakePHP(或 Django,或 Merb,或.... 只是不要花整个月时间去尝试框架!)