使用视图
假设路线:
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
。