我在用户之间有这个简单的has_and_belongs_to_many关联,这非常有效。
但是,我想直接在Create方法中添加所有创建的新用户和第一个用户(是的,就像MySpace的Tom一样)之间的友谊关系:
def create
@user = User.new(params[:user])
if @user.save
@user.friends << User.find(1)
redirect_to root_path
else
render :action => :new
end
end
我不明白为什么这不起作用。没有错误,没有,它只是没有将第一个用户添加到新用户的朋友。
(有关信息,我使用的是Rails 2.3.4)
我该怎么办?
凯文
答案 0 :(得分:2)
首先,您可以启动脚本/控制台并检查您的关联是否在控制台中正常工作。 其次,您必须安排代码,以便用户和朋友之间的关联在save命令之前。
答案 1 :(得分:2)
您必须在保存用户之前添加好友,或者在添加好朋友后再次低效地保存用户。