我想用rails创建一个网站,现在我想要一个有多个页面的控制器,每个页面从不同的数据表中获取数据,我该怎么做?
答案 0 :(得分:3)
这绝对是可能的。你没有在教程中看到它,或者只是经常看到它的原因是因为Rails建立在REST的概念之上。因此,出于多种原因,不建议采用此行为。但是,如果您愿意,这里是步骤的大致概述。
这需要多个步骤:
1。)生成控制器。 rails generate controller <name>
2.)在您生成的控制器中创建路由和相应的操作。
即。在routes.rb
中,您声明了url,控制器来处理它(使用您刚生成的那个)和action(控制器中的方法)
3.。)在每个操作中,找到您想要的任何数据库表。如果您的数据库包含帖子,标签和评论作为表格,例如......
Class YourController < ApplicationController
def action1
@posts = Post.all
end
def action2
@comments = Comment.all
end
def action3
@tags = Tag.all
end
end
现在,action1
将需要一个名为action1.html.erb
的视图,而其他两个操作则相同。当您转到action 1
中设置的routes.rb
网址时,它会从该视图中呈现html和erb代码。
这是一个非常深入的问题,这是对这些步骤的简要概述。有很多很好的资源可以开始使用Rails。
Ryan Bate的Railscasts很棒。 边缘指南也是实心的:edgeguides.rubyonrails.org/