使用檢視

假設路線:

resources :users, only: [:index]

和控制器:

class UsersController < ApplicationController
  def index
    respond_to do |format|
      format.html { render }
    end
  end
end

檢視 app/users/index.html.erb 將被渲染。如果檢視是:

Hello <strong>World</strong>

輸出將是一個帶有文字的網頁:“Hello World

如果要渲染其他檢視,可以使用:

render "pages/home"

並將使用檔案 app/views/pages/home.html.erb

你可以使用控制器例項變數將變數傳遞給檢視:

class UsersController < ApplicationController
  def index
    @name = "john"

    respond_to do |format|
      format.html { render }
    end
  end
end

app/views/users/index.html.erb 檔案中你可以使用 @name

Hello <strong><%= @name %></strong>

輸出將是:“你好約翰

關於渲染語法的一個重要注意事項,你可以完全省略 render 語法,Rails 假設你省略它。所以:

class UsersController < ApplicationController
  def index
    respond_to do |format|
      format.html { render }
    end
  end
end

可以寫成:

class UsersController < ApplicationController
  def index
    respond_to do |format|
      format.html
    end
  end
end

Rails 非常聰明,可以確定它必須渲染檔案 app/views/users/index.html.erb