如何在登录和注册页面上使用Rails Devise设置seo标题标签?

时间:2011-11-15 02:05:16

标签: ruby-on-rails ruby-on-rails-3 devise

在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?

由于

1 个答案:

答案 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