在rails + devise中我可以在控制器中设置var,如下所示:
@content_for_title = 'Sign In'
@content_for_title = 'Sign Up'
然后在我的布局文件中设置:
<title><%= page_title %></title>
有没有办法控制:
Devise::SessionsController#new controller to just set that var?
由于
答案 0 :(得分:1)
除了添加
之外 <title>Mysite | Mysite is so great and here is where you sign in!</title>
在视图中,我相信您可以部分覆盖会话控制器以添加@title实例:
SessionsTitlesController::SessionsController < Devise::SessionsController
def new
@title = "Mysite is so great and here is where you sign in!"
end
end
然后改变路线:
devise_for :users, :controllers => { :sessions => "sessionstitles" }
如果您尚未创建Devise视图,请执行此操作以生成视图:
rails generate devise:views
另外,要使上面的代码工作,你需要在application_controller中有这样一行的标题助手:
def title
base_title = "My site"
return base_title if @title.nil?
return "#{@title} | #{base_title}
end