在路线中渲染RESTful路线

时间:2017-02-24 19:32:57

标签: ruby-on-rails

我不确定我是否清楚地了解渲染在RESTful路线中的含义。

例如: 在我的Pages控制器中,

class PagesController < ApplicationController
  def home
    render "home.html.erb"
  end
end

在我的routes.rb文件上 我有以下内容:

get "/" => "pages#home"

render home.html.erb是否意味着输出此页面上的信息?

谢谢!

1 个答案:

答案 0 :(得分:1)

是。 render执行渲染应用程序内容的工作,以便在调用操作时由浏览器使用。如果视图名称与操作名称匹配并放在app / views中的右侧文件夹中,则不需要显式指定视图名称

例如,如果您在app/views/pages/中有视图,那么您的控制器就可以

class PagesController < ApplicationController
  def home
  end
end

即使你想渲染一个名称与动作名称不同(或在其他地方本地化)的模板;您不需要指定文件扩展名,只需指定其名称(路径/名称,如果超出控制器视图的指定文件夹范围)...

例如,如果您有app/views/pages/home_template.html.erb行动的模板home,则可以

class PagesController < ApplicationController
  def home
    render 'home_template' 
  end
end