RoR:max_users没有保存?

时间:2014-11-06 15:41:15

标签: ruby-on-rails ruby validation initialization

我认为这可能在其他地方得到了解答,但我不能100%确定要查找答案的内容。

我尝试在max_users方法之前设置length_of_users,但由于某种原因它没有被保存,然后当length_of_users出现时,max_users显示为nil。< / p>

非常感谢任何帮助。提前谢谢。

这是我的资产模型代码:

validate :length_of_users
.
.
.
after_initialize :set_max_users
.
.
.
def set_max_users
  if max_users.nil?
    max_users = 1
  end
end
.
.
.
def length_of_users
  if user_ids.count > max_users
    errors.add(:users, "You can only add a maximum of #{max_users} users")
  end
end

...在代码中显示无关紧要的空白。

1 个答案:

答案 0 :(得分:2)

max_users = 1您只设置本地变量max_users,这是无用的。你应该:

self.max_users = 1

使用max_users= setter方法。