目前,我的Rails(3)应用程序在其关系已知之前创建对象(我存储评论,然后要求用户登录/登录以验证该评论,之后评论得到一个用户分配)。belongs_to默认回退
我想确保每条评论始终回落给用户。为了避免必须到处测试@comment.user
。确保用户也允许我validate_presence。
我可以看到两种方式,两者看起来都很难看。也许我错过了Rails或ActiveRecord的一些功能。
- 在种子或迁移中,创建ID为1的用户,调用匿名并将其指定为备用。
comment.rb
在加载时检查user_id,如果为null,则为其分配User.new。
这是怎么回事?
我已经这样做了,但是重写了这部分内容,因为在会话中存储有很多缺点。由于某些原因,请参阅(旧版)railscast:http://railscasts.com/episodes/13-dangers-of-model-in-session。尽管在重写之前,我还没有预见到这种关联的问题。 :( – berkes 2011-03-10 10:42:32