我有一个用户。用户可以拥有多个表。实际,只有5。
在我的桌子模型中我有
validate :max_tables
def max_tables
if user.tables.count > 5
errors[:base] << "You already have 5 tables."
end
end
这一切都很好,如果我尝试创建一个表并且我的用户已经有5个,我会得到一个页面
TablesController #create中的ActiveRecord :: RecordInvalid
验证失败:您已经有5个表。
但是我没有被重定向回到新的表页面,如果不满足其他验证,错误显示就像我一样。出于某种原因,我陷入了这个错误的错误页面。
有什么想法吗?
我在after_create回调中生成了一个简短的网址,在那里我打电话给save!
一旦我解决了这个问题,一切都很好。谢谢@ house9!
答案 0 :(得分:0)
使用errors.add_to_base "You already have 5 tables."
- 在我使用errors.add_to_base
和return false
的最老和最大的应用中 - 可能是不需要返回,但我还没有测试过。
答案 1 :(得分:0)
编辑:已解决 我在after_create回调中生成了一个简短的url,在那里我正在调用save!
一旦我解决了这个问题,一切都很好。谢谢@ house9!