Ruby on Rails 4
我想创建一个模型"测试"可以有2到200个问题。会有很多测试。每个测试都会有不同的问题变化。
我正在考虑制作一个名为" questions_ids"的属性。我必须用逗号创建一个用question_id分隔的字符串。
或者我可以使用200个question_id属性制作模型。这将使question_id更容易和更快地检索。
还有其他方法吗?哪个更受欢迎?如果我有1000个问题该怎么办?谢谢
答案 0 :(得分:1)
模型/ test.rb
class Test < ActiveRecord::Base
has_many :test_questions
end
模型/ test_question.rb
class TestQuestion < ActiveRecord::Base
belongs_to :question
belongs_to :test
end
模型/ question.rb
class Question < ActiveRecord::Base
has_many :tests
end
分贝/迁移/ initial_migration.rb
class InitialMigration < ActiveRecord::Migration
def self.up
create_table :tests do |t|
t.string :name
end
create_table :test_questions do |t|
t.references :table
t.references :question
end
create_table :questions do |t|
t.string :name
end
end
这也将创建适当的索引。