3

我已经建立了一个小的 ruby​​ webservice,在这个我已经实现了 cancan 授权。

我跟着这个教程。问题是,当他们注册到我的站点时,我找不到在用户处分配的方式,即基本角色级别。

我发现用一个复选框来做到这一点,但这不是我想要的。我的想法是把这个任务直接放到registrations_controller中,但是我没能保存角色。

我希望有人能帮助我。

谢谢你。

4

3 回答 3

12

这对我有用

用户.rb:

  after_create :default_role

  private
  def default_role
    self.roles << Role.where(:name => 'User').first
  end
于 2012-05-14T04:23:59.097 回答
1

我遇到了同样的问题,但我使用的是 rbates 的嵌入式关联: http: //railscasts.com/episodes/189-embedded-association

user.rb:

before_create :default_role

private
def default_role
 self.roles = ['client']
end

像魅力一样工作,但请注意钩子是before_create,而不是 after_create ,因为 before_create 在插入操作之前运行。
after_create 是在插入操作之后,在我的情况下是晚了。

于 2014-01-15T17:19:44.943 回答
0

我已经重建了迁移,我已经统一了用户和角色表,所以现在我可以毫无问题地分配所有内容。

谢谢你。

于 2011-05-20T10:01:27.467 回答