Ruby on rails 如何在rails中拥有两个不同的注册页面(使用Desive)

Ruby on rails 如何在rails中拥有两个不同的注册页面(使用Desive),ruby-on-rails,ruby-on-rails-3,devise,Ruby On Rails,Ruby On Rails 3,Devise,我正在使用Desive,注册表显示在/注册路径,但我希望另一个页面具有相同的注册表,但顶部有不同的文本 我可以在/views/design/registration/new.html.erb中看到注册页面,但是如何制作副本并在/signup\u new中显示 编辑-我正在使用 devise_for :users do get 'signup_new', :to => 'devise/registrations#new' end 现在有了上面的代码,我得到了新的重定向到表单的注册,但

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

我可以在/views/design/registration/new.html.erb中看到注册页面,但是如何制作副本并在/signup\u new中显示

编辑-我正在使用

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

现在有了上面的代码,我得到了新的重定向到表单的注册,但我确实希望在表单顶部显示一些不同的文本。既然现在/signup和/signup\u new都指向同一个表单/页面,我该怎么做呢。我试图复制new.html.erb并创建了signup_new.html.erb,但这不起作用

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

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

在Desive视图中,只需根据请求url显示不同的内容即可:

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


旁注:你真的不应该有两个不同的URL指向同一内容,因为谷歌称之为重复内容。

你希望用户访问这两个页面,还是只访问较新的页面?@mind.blank-我希望用户访问这两个页面,理想情况下应该是相同的内容,我只想在其中一个页面上显示不同的文本,没错,现在我有了新的重定向到表单的注册,但我确实希望在表单顶部显示一些不同的文本。既然现在/signup和/signup\u new都指向同一个表单/页面,我该怎么做呢。我试图复制new.html.erb并创建了signup_new.html.erb,但这不起作用。您必须覆盖designe registration controller并添加一个名为
signup_new
的新操作。然后,您可以在
app/views/designe/registration/
中拥有自己的signup\u new.html.erb模板。覆盖后,将routes.rb文件更改为。。Desive_for:users,:controllers=>{:registrations=>“registrations”}确实得到了“signup_new”,:to=>“registrations#signup_new”endFWIW,看起来为了定义额外的路由,你现在必须使用
Desive_scope:user
而不是
Desive_for:users