如何从模型方法中访问未保存的关联?例如:
class Post < ActiveRecord::Base
has_many :comments
def comment_dates
comments.pluck(:created_at).sort
end
end
在模型方法中调用的comments
方法返回刚刚保存的关联。当我从对象调用方法时,例如post.comments
它返回已保存和未保存的关联。
如何从模型方法中访问已保存和未保存的关联?我需要这样做一些复杂的验证,包括关联。
答案 0 :(得分:0)
这样的事情怎么样?
class Post < ActiveRecord::Base
has_many :comments
def comment_dates
comments.pluck(:created_at).sort
end
def comments_dates_no_query
comments.map(&:created_at).sort
end
def unsaved_comments
comments.reject(&:persisted?)
end
def saved_comments
comments.select(&:persisted?)
end
end
你可以像我们一样
post.saved_comments
或
post.unsaved_comments
希望有所帮助!