Rails设计注册:用户类型的单独注册表

时间:2016-12-27 19:15:51

标签: ruby-on-rails ruby-on-rails-4

我试图在Rails中创建一个特定于邀请URL的新注册页面,如下所示:

http://localhost:3000/users/sign_up?school=Elementary&principal=true

当用户邀请他们的校长注册时,我会喜欢不同的体验(隐藏常规注册页面中某些字段的新模板)。

我能够将参数传递到这样的形式:

<%= f.text_field :school, :value => params[:school] %>

但我无法在视图中获取逻辑,隐藏某些输入,具体取决于用户所来自的URL。基本上,我希望将 new.html.erb 分为 newprincipal.html.erb

1 个答案:

答案 0 :(得分:0)

实现它的最简单方法是检查控制器中principal param的值,并根据它呈现正确的模板,例如:

class RegistrationsController < Devise::RegistrationsController

  def new
   render :new_principal if params[:principal] == true
  end

end

Ruby on Rails遵循convention over configuration范例,因此除非principal param设置为true(或不存在),否则将呈现默认的new模板。您可以在the official Rails guide中阅读有关布局和渲染的更多信息。