我是RoR noob所以对某人来说这可能是一个简单的问题。我创建了两个模型 - 用户和反馈,我有两个与之关联的表。用户和反馈。
现在我想创建一个关系表,其中user_id为一列,feeback_id为另一列。
我是创建模型还是仅迁移?我很困惑。
以下是我的用户和反馈迁移。
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string "first_name"
t.string "last_name"
t.string "email"
t.string "phone"
t.string "password_hashed"
t.string "password_salt"
t.boolean "isdeleted", :default => false
t.timestamps
end
end
def self.down
drop_table :users
end
end
class CreateFeedbacks < ActiveRecord::Migration
def self.up
create_table :feedbacks do |t|
t.text "feedback"
t.integer "rating"
t.boolean "isdeleted", :default => false
t.timestamps
end
end
def self.down
drop_table :feedbacks
end
end
现在我要创建一个模型??? &gt; rails生成模型FeedbackUserJoinTable?或者只是像这样的迁移?
class CreateFeedbackUserJoinTable < ActiveRecord::Migration
def change
create_table :feedbacks_users, :id => false do |t|
t.integer :feedback_id
t.integer :user_id
end
end
end
答案 0 :(得分:3)
我喜欢this answer has_and_belongs_to_many
上的另一个SO问题。如果用户和反馈之间的关系仍然很简单,基本上使用HABTM关系。
如果您预见这些关系不会保持简单,则应在两者之间创建连接模型并使用has_many ..., :through => ...
。这样,当您想要为特定的User对和Feedback对象之间的关系添加属性时,您可以在连接模型上定义这些属性。
答案 1 :(得分:2)
您无需创建模型。只需按照您的编写创建迁移:)