-2

我正在学习 Ruby on Rails 几个星期,遵循一些教程和小文章。您能否推荐一些文章或视频教程,对项目结构进行良好的高级概述,其中还包括事物如何相互连接(模型、视图、控制器、资产等)以形成 Web 应用程序?我想我深入细节而不了解基础知识。

4

4 回答 4

3

30.000 英尺的概述是 Rails 很像 Magic :)

您应该知道很多约定,但它们都是不言自明且简单的。

首先:您不需要在 Rails 应用程序中连接任何东西——Rails 通过约定为您做到这一点。

所以首先是文件夹结构。

您的应用程序位于/app目录中,配置位于/config. 内部的数据库文件和迁移/db等../public是所有不受 Rails 管理的东西的地方(robots.txt静态内容等)。

在里面/app你通常会有:

app
 - assets
 - controllers
 - models
 - views

资产是应用程序的 JavaScript、CSS 和图像文件所在的位置。

控制器是放置控制器的地方。这里的约定如下:

ApplicationController派生自ActionController::Base所有应用程序控制器的基类,并且旨在作为基类。当控制器的名称与其类名匹配时,控制器会立即加载。所以ApplicationController预计会在里面声明application_controller.rb。另一个样本将是一个PostsController进入posts_controller.rb文件的样本。

这里的约定也是管理许多事物(帖子、客户、链接......)的控制器是复数的,而像个人资料、帐户这样的单数资源是单数的——但这并不是真正的硬性规则。

模型是 ActiveRecord 模型所在的地方,它们被定义为简单的类,扩展ActiveRecord::Base并与它们的类名进入相同的文件:Post进入post.rbUser进入user.rb

Views有点特殊,因为它包含基于每个控制器的子文件夹。因此,如果您有 aPostsController和 a ,CommentsController那么您将在/views:postscomments.

在这些视图文件夹中,您将放置与控制器内的操作(​​方法)相对应的文件。所以通常你会有一个index.html.erb文件,当index控制器上的方法被调用时,它会被渲染。

正如您所看到的,这就是魔法发生的地方,您只需要以正确的方式命名,Rails 就会自行解决问题。您必须明确执行某些操作才能使其工作的唯一特殊情况是路由。

路由进入/config/routes.rb,该文件用于告诉 Rails 应用程序哪些 url 映射到控制器中的哪些操作。但我建议您在 Rails 指南或其他人在此问题中发布的众多教程中查找。

于 2013-03-14T17:49:18.203 回答
3

三件事:

顺序很重要!

祝你好运!

于 2013-03-14T17:42:54.453 回答
1

如果您是 Rails 新手,那么您应该遵循这个基本教程。 http://guides.rubyonrails.org/getting_started.html

于 2013-03-14T17:36:42.853 回答
0

试试这个资源,我发现它很有用。

http://www.codethinked.com/rails-3-baby-steps-series

于 2013-03-14T17:38:38.603 回答