用户可以向代码段添加标记:

class Snippet < ActiveRecord::Base

  # Relationships
  has_many :taggings
  has_many :tags, :through => :taggings
  belongs_to :closing_reason

end

我想验证标签的数量:至少1个,最多6个.我要怎么做?谢谢

推荐答案

你可以创建一个custom validation.

差不多

  validate :validate_tags

  def validate_tags
    errors.add(:tags, "too much") if tags.size > 5
  end

Ruby-on-rails相关问答推荐

在数组中定位不匹配的索引

如何在嵌套路由中使用Ruby on rails多态关联

Rails:比枚举更惯用的排序/可比较列表方法?

如何断言 Ruby 单元测试中的错误消息?

别名可能与不同模型的相同别名有许多关联?

将日期时间转换为月、日和年?

如何在 IRB/Rails 控制台中 suppress 返回值的输出?

未初始化的常量 ActionDispatch::Session::EncryptedCookieStore (NameError)

Rails Mailer Net::OpenTimeout: execution expired 仅在生产服务器上出现异常

在 ID 存在时获取表的未知主键

是否有与 PHP 的 isset() 等效的 Rails?

如何在 Rails 应用程序中使用长 id?

我收到在扫描下一个令牌时发现无法启动任何令牌的字符

按周/月/等和 ActiveRecord 分组?

Rails 范围为 IS NOT NULL 并且不为空/空白?

Ruby on Rails i18n - 想要在模型中翻译自定义消息

从 Rails 中的控制器调用辅助方法时出现未定义的方法

列出关联模型的名称

如何检测rails是否在根url?

将现有的 html.erb 转换为 Haml