我仍然在努力做点什么,但我没有做太多(我是Ruby和Rails的新手),我要做的是为我的项目实现3种类型的用户(admin,role1和role2),每个人都有不同的观点,可以做不同的事情。
我的用户模型是设计用户模型,我在其中添加了一个名为“role”的属性来区分它们,例如,在我的Admin控制器上我有:
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使管理员通过邮件邀请注册新用户,我唯一缺少的是认证和注册新用户以保持我想要的方式是更改属性“角色“当我注册一个新用户时,如果我从特定路径发送邀请,则必须是role1;如果我从另一个路径发送邀请,则必须是role2,那么,我对拥有该用户的用户注册的看法是什么role1就是这样。
<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 %>
我不知道如何做到这一点,有人可以帮助我吗?