在 application.html.erb 的
<%= render 'layouts/header' %>
可是,如果我在注册页不想看到这个 header,请问该怎么操作呢?
http://guides.rubyonrails.org/layouts_and_rendering.html 2.2.11.2
You can also tell Rails to render with no layout at all:
render :layout => false
反正把 2.2.11 看一遍总能找到你需要的方法
楼主的意图可能是 application.html.erb 本身还是要 render 的,只不过其中的一部分不用。
application.html.erb
render
有几个方法,都不是太完美:
render 'layouts/header'
如果是我的话 我会做两个 layout 一个带 header 一个不带 header
@blacktulip @ashchan @fresh_fish 谢谢,用的是 devise 建立用户系统,如果要从 action 里声明 render 其他内容,貌似还要自建 devise 的相关 controller.
@blacktulip @ashchan @fresh_fish 搞定了,谢谢各位! 我的过程如下: 因为是用 devise,所以注册的 controller 都是 devise 内置的,如果想通过在 controller 里面声明自己想用的 layout 还必须自建一个 devise 的 controller:
class RegistrationsController < Devise::RegistrationsController layout "login" def new (这些可要可不要的) super end end
之所以会用到这个,因为经常看到漂亮的登陆页,作者分享了整套的 css、js、html,所以想套着用一用。
devise 是不错,不过感觉项目开始就用,而不是中途修改
@davidqhr 嗯,小练手而已~