我正在研究Ruby on Rails几周,接下来是一些教程和小文章。您是否可以推荐一些文章或视频教程,其中包含项目结构的高级概述,其中还介绍了如何相互连接(模型,视图,控制器,资产等)以形成Web应用程序? 我想我深入了解细节而不了解基础知识。
答案 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.rb
和PostsController
,则CommentsController
内有两个文件夹:/views
和posts
。
在这些视图文件夹中,您将放置与控制器内的操作(方法)对应的文件。因此,通常您将拥有一个comments
文件,当调用控制器上的index.html.erb
方法时,该文件将被呈现。
正如你所看到的,这就是魔术发生的地方,你只需要以正确的方式命名东西,而Rails就会自己解决问题。唯一需要明确做某事才能使其正常工作的特殊情况是路由。
路由进入index
,此文件用于告诉Rails应用程序哪些网址映射到控制器中的操作。但我建议你在Rails指南或其他人在这个问题中发布的众多教程中查看。
答案 2 :(得分:1)
如果您不熟悉rails,那么您应该遵循这个基本教程。 http://guides.rubyonrails.org/getting_started.html
答案 3 :(得分:0)
试试这个资源,我发现它很有用。