【发布时间】:2011-04-19 03:48:53
【问题描述】:
我有 2 个这样的模型:
class User < ActiveRecord::Base
has_many :user_services, :inverse_of => :user
validates_length_of :user_services, :maximum => 3
end
class UserService < ActiveRecord::Base
belongs_to :user, :inverse_of => :user_services
validates_associated :user
end
我想做这样的事情:
user_service = user.user_services.build(...)
if user_service.save
...
但它会引发“堆栈级别太深”错误。我假设是因为 validates_associated 与 inverse_of 相结合。有谁知道为什么会这样?
直接在用户对象而不是 user_service 对象上调用 save 似乎可行,但我想知道是否有办法反过来实现这些。
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord associations has-many