rails创建另一个时自动创建模型实例

时间:2010-04-14 02:25:41

标签: ruby-on-rails database associations

您好我有一个用户模型和一个评级模型。每当创建一个新用户时,我想自动创建一个新的反馈模型。

每个用户模型都有一个反馈模型,每个反馈模型都有很多评级。

我的课程

class User < ActiveRecord::Base
end

class Feedback < ActiveRecord::Base
   belongs_to :user
   has_many :ratings
end

class Rating < ActiveRecord::Base
    belongs_to :feedback
end

我的数据库表

- 用户没有什么特别的 -feedback有user_id。此user_id应与刚刚创建的用户相同。例如,创建了user_id为1,然后应创建属于user_id为1的反馈模型。因此反馈数据库中的user_id列也将为1。 - 评级具有feedback_id和user_id,在这种情况下,user_id是提交评级的人的ID。我通过构建命令分配了它。

我相信我的过程在这里是正确的。

目标

目标是让每个用户都有一个反馈表,其中包含来自其他用户的许多评级。因此,如果有人进入反馈页面,他们将看到所有评级和由谁。

有没有更好的方法来解决这个问题?如何在创建新用户时创建与正在创建的用户具有相同ID的反馈模型。我们的想法是,当创建用户时,会创建与该用户关联的反馈,以便人们可以转到

http://localhost:3000/users/1/feedback/并提交新的评分。

我试图绕过让用户评价其他只有评级模型的用户,因为我不知道该怎么做。

1 个答案:

答案 0 :(得分:3)

为什么不使用after_create回调并在该方法中创建反馈?