如何防止用户添加标签数据库中尚不存在的新标签?
我希望他们能够将已经存在的任何标签添加到他们可以完全编辑的另一个模型中,但如果它们尚不存在,则无法创建新标签?
我正在使用 declarative_auth,因此应该创建一些具有权限的用户来添加他们想要的任何标签。
用户.rb
acts_as_tagger
post.rb
acts_as_taggable_on :features
https://github.com/mbleigh/acts-as-taggable-on
更新:
这似乎可以做到这一点,但我无法让错误消息变量起作用:
validates :feature_list, :inclusion => {
:in => SomeModel.tag_counts_on(:features).map(&:name),
:message => "does not include {s}" }
最佳答案
我没有使用acts_as_taggable,但是你能通过正常的rails验证吗?
# LIKE is used for cross-database case-insensitivity
validates_inclusion_of :name => lambda { find(:all, :conditions => ["name LIKE ?", name]) }
关于ruby-on-rails - acts_as_taggable_on 具有创建新标签所需的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5017712/