如何在rails中使用两个不同的注册页面(使用设计)

时间:2013-05-06 10:06:48

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

我正在使用设计,注册表单显示在/ signup路径,但我希望另一个页面具有相同的注册表单,但顶部有不同的文本。

我可以看到注册页面位于/views/devise/registration/new.html.erb但是如何复制它并在/ signup_new中显示?

编辑 - 我正在使用

devise_for :users do
   get 'signup_new', :to => 'devise/registrations#new'
end

现在使用上面的代码我已经将signup_new重定向到表单,但我确实希望在其顶部显示一些不同的文本。我怎么能这样做,因为/ signup和/ signup_new都指向同一个表单/页面。我试图复制new.html.erb并创建了signup_new.html.erb,但这不起作用

2 个答案:

答案 0 :(得分:5)

您可以将routes.rb文件更新为..

 devise_for :users do
   get 'signup_new', :to => 'devise/registrations#new'      
 end

答案 1 :(得分:5)

在您的设计视图中,只需根据请求网址显示不同的内容:

<% if request.fullpath.include?('signup_new') %>
    <%= 'text 1' %>
<% else %>
    <%= 'text 2' %>
<% end %>

附注:你真的不应该有2个不同的网址指向相同的内容,对于Google来说,它被称为重复内容。