2017-09-23 53 views
0

我有一个文件的多个版本:如何从控制器动作中加载一个静态文件与布局

about_version1.html 
about_version2.html 
about_version3.html 

在我的控制器我想无论从1,2版或3渲染文本。

我想也使用布局。

我如何使用布局加载内容文件?有没有内置的方式在轨道中读取这样的静态资产?

回答

1

当然。 Rails将使用/views/layouts/application.html.erb作为所有模板的默认布局。要使用不同的布局,请在/views/layouts中创建一个名为about.html.erb的文件,并将<%= yield %>放在要插入模板的位置。

然后假设你有/views/static下,所有三个模板文件,做这样的事情:

## static_controller.rb 
    def about 
     version = params[:version] 
     render "static/about_version#{version}.html.erb", layout: "about" 
    end 

你需要,当你调用当然#about提供帕拉姆:version

相关问题