跳转到内容

Ruby on Rails/ActionController/Actions

来自维基教科书,开放书籍,开放世界

现在您已经了解了模型视图,是时候进入MVC的最后一部分了:控制器。您的控制器为视图创建正确的数据并处理一些逻辑结构。为了完全理解整个框架,您还应该了解“路由”,以便完全理解它们如何协同工作。

动作是控制器的方法,它们响应请求。例如

class PeopleController < ApplicationController
      def index
        @people = Person.find(:all)
      end
      def show
        @people= Person.find(params[:id])
      end
    end

在这个例子中,people控制器有两个动作indexshow. 称为index的动作是默认动作,如果 URL 中未指定动作,则会执行该动作。例如

https://127.0.0.1:3000/people

index动作也可以显式调用

https://127.0.0.1:3000/people/index

show 动作必须显式调用,除非已设置路由(路由将在后面介绍)

https://127.0.0.1:3000/people/show/1

在上面的示例中,数字 1 将在 params[:id] 中可用。这是因为默认路由是

map.connect :controller/:action/:id

这表明路径的第一部分是控制器名称,第二部分是动作名称,第三部分是 ID。路由的详细说明将在其单独章节中提供。

华夏公益教科书