在 before_validation 回调中创建关联对象在 Rails 4.1 中失败

Create associated object in before_validation callback fails in Rails 4.1

我有一个自引用关联页面 -> 页面(想想链接)。在 before_validation 钩子中应该创建关联对象。它在 Rails 4.0 中工作,现在它给出了 StackLevel Too Deep

class Page
    has_many :linked_pages, -> { uniq }, through: :page_links
    before_validation :parse_links
end

parse_links 回调中:

page = # results from parsing
self.pages.build(linked_pages_id: page.id).save

我猜 pages.create 现在会在父内容上触发 before_validation 回调。我可以在这里提供什么帮助?

是否可以选择 create 关联对象而不验证父对象?

通过选项validate: false。喜欢

self.pages.
    build(linked_pages_id: page.id).
    save(validate: false)