render 在 controller中的用法

* render :layout

Rails 預設的 layout 是app/view/layouts/application.html.erb這個檔案。

有时候我们希望默认的模版不一样,比如说我们的admin页面head 内不希望加上一些东西

我可以自己建立一个新的layout模版 app/view/layouts/admin.html.erb

只要在controller 中指定使用admin layout即可

class AdminController < ApplicationController

layout "admin"

end

我们可以为某个action使用 admin layout

class AdminsController < ApplicationController
   layout "admin", :only => :new
   # 另外也可以在render的時候就指定要使用哪一個layout
   def show
      render :layout => "admin"
   end

   # 甚至可以指定模板再指定layout
   def index
    render :template => "others/weired_topics", layout: "admin"
  end
end

出处
https://rocodev.gitbooks.io/rails-102/content/chapter1-mvc/c/render-layout.html

Comments

comments powered by Disqus