跳轉到內容

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://:3000/people

index動作也可以顯式呼叫

https://:3000/people/index

show 動作必須顯式呼叫,除非已設定路由(路由將在後面介紹)

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

在上面的示例中,數字 1 將在 params[:id] 中可用。這是因為預設路由是

map.connect :controller/:action/:id

這表明路徑的第一部分是控制器名稱,第二部分是動作名稱,第三部分是 ID。路由的詳細說明將在其單獨章節中提供。

華夏公益教科書