2

我仍在努力做某事,但我没有取得太多成就(我是 Ruby 和 Rails 的新手),我要做的是为我的项目实现 3 种类型的用户(管理员、角色 1 和角色 2),其中每一个有不同的观点,可以做不同的事情。

我的用户模型是设计用户模型,我在其中添加了一个名为“角色”的属性来区分它们,例如,在我的管理控制器上,我有:

class AdminController < ApplicationController
    before_filter :authenticate_user!
    before_filter :admin_only

...

before_filter :admin_only

  def admin_only
    unless current_user.role == "Admin"
        redirect_to :back
    end
  end
end

我希望我做对了……

我还使用 devise_invitable 让管理员通过邮件邀请注册新用户,我唯一缺少的新用户身份验证和注册以保持我想要的方式是更改属性“角色”当我注册一个新用户,如果我从特定路径发送邀请,这必须是角色 1,如果我从另一个路径发送邀请,则必须是角色 2,所以,我对注册具有角色 1 的用户的看法就像这个。

<div class="container">

<p>Input the email of the new user.</p>

<%= form_for resource, :as => resource_name, :url => invitation_path(resource_name), :html => {:method => :post} do |f| %>
  <%= devise_error_messages! %>

  <% resource.class.invite_key_fields.each do |field| -%>
    <p><%= f.label field %><br />
    <%= f.text_field field %></p>
  <% end -%>

  <p><%= f.submit t("devise.invitations.new.submit_button") %></p>
<% end %>

我不知道该怎么做才能做到这一点,有人可以帮助我吗?

4

0 回答 0