[英]Ruby on Rails 3 - How to create 2 different forms for sign up based on Devise
[英]Rails sign up forms for different users using devise
我有专业用户和业余用户两种类型。 是否可以为两个用户拥有相同的注册页面,但向专业用户显示名称字段,并在业余用户注册时将其隐藏?
devise / registrations / new.html.erb
<h2>Sign up</h2>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name%>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true %>
</div>
<div class="field">
<%= f.label :password %>
<% if @minimum_password_length %>
<em>(<%= @minimum_password_length %> characters minimum)</em>
<% end %><br />
<%= f.password_field :password, autocomplete: "off" %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation, autocomplete: "off" %>
</div>
<div class="actions">
<%= f.submit "Sign up" %>
</div>
<% end %>
<%= render "devise/shared/links" %>
</div>
对的,这是可能的:
<% unless current_user.amateur? %>
<div class="field">
<%= f.label :user_type %><br />
<%= f.text_field :user_type %>
</div>
<% end %>
在用户模型中创建一种称为“业余”的方法? 返回True / False。
我得到它与以下工作:
<% if request.fullpath.include?('pro') %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name%>
</div>
<% end %>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.