Rails中的类别权限实现

时间:2011-12-28 00:36:12

标签: ruby-on-rails ruby ruby-on-rails-3 architecture implementation

我是Rails Newbie。能否请你帮我解决这个问题的最佳方法是什么?

假设我有一个用户控制器,我问他特定用户想要订阅的所有类别?

让我们假设有3个类别,汽车,颜色和形状。让我们说用户订阅了Cars&形状。

汽车有汽车标签,宝马,福特,法拉利,梅赛德斯等。 颜色有红色,蓝色,绿色,白色等标签。 形状有三角形,矩形,方形等标签。

当特定用户撰写帖子时。在下一个字段中,我想问他该帖子与哪个类别有关......他在汽车或形状之间选择哪一个。

如何确定他是否进入汽车类别,他应该只被允许使用汽车相关标签!

可能有一些宝石可以帮助我解决这个问题..但我想学会实施..首先了解流程!

能否帮助我了解如何在Rails中实现?

1 个答案:

答案 0 :(得分:0)

简单!只需对提交进行验证即可。像这样的东西(伪代码)

def new_post
  category = params[:category]
  tags = params[:tags]

  allowed_tags = Category.get_tags_for(category)


  # a piece of Ruby magic here: array subtraction!
  tags_he_cant_use = tags - allowed_tags

  if tags_he_cant_use.length > 0
    # render the same page again, with error "You used tags from another category"
  else
    # proceed creating the post
  end
end