我是Rails Newbie。能否请你帮我解决这个问题的最佳方法是什么?
假设我有一个用户控制器,我问他特定用户想要订阅的所有类别?
让我们假设有3个类别,汽车,颜色和形状。让我们说用户订阅了Cars&形状。
汽车有汽车标签,宝马,福特,法拉利,梅赛德斯等。 颜色有红色,蓝色,绿色,白色等标签。 形状有三角形,矩形,方形等标签。
当特定用户撰写帖子时。在下一个字段中,我想问他该帖子与哪个类别有关......他在汽车或形状之间选择哪一个。
如何确定他是否进入汽车类别,他应该只被允许使用汽车相关标签!
可能有一些宝石可以帮助我解决这个问题..但我想学会实施..首先了解流程!
能否帮助我了解如何在Rails中实现?
答案 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