Ruby on Rails项目结构

时间:2013-03-14 17:32:11

标签: ruby-on-rails web-applications structure

我正在研究Ruby on Rails几周,接下来是一些教程和小文章。您是否可以推荐一些文章或视频教程,其中包含项目结构的高级概述,其中还介绍了如何相互连接(模型,视图,控制器,资产等)以形成Web应用程序?    我想我深入了解细节而不了解基础知识。

4 个答案:

答案 0 :(得分:3)

三件事:

订单很重要!

古德勒克!

答案 1 :(得分: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文件。

这里的惯例也是管理很多东西的控制器(帖子,客户端,链接......)是复数,而像profile,account这样的奇异资源是单数 - 但这不是真正的硬规则。

模型是ActiveRecord模型所在的位置,它们被定义为扩展ActiveRecord::Base的简单类,并与其类名称进入同一文件:Post进入{{ 1}},post.rb进入User

视图有点特殊,因为它包含基于每个控制器的子文件夹。 因此,如果您有user.rbPostsController,则CommentsController内有两个文件夹:/viewsposts

在这些视图文件夹中,您将放置与控制器内的操作(​​方法)对应的文件。因此,通常您将拥有一个comments文件,当调用控制器上的index.html.erb方法时,该文件将被呈现。

正如你所看到的,这就是魔术发生的地方,你只需要以正确的方式命名东西,而Rails就会自己解决问题。唯一需要明确做某事才能使其正常工作的特殊情况是路由。

路由进入index,此文件用于告诉Rails应用程序哪些网址映射到控制器中的操作。但我建议你在Rails指南或其他人在这个问题中发布的众多教程中查看。

答案 2 :(得分:1)

如果您不熟悉rails,那么您应该遵循这个基本教程。 http://guides.rubyonrails.org/getting_started.html

答案 3 :(得分:0)

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

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