我是Ruby on Rails的新手,并试图通过编写我自己的项目来学习这种方法。
我的情况是测试包含许多问题,并且问题也可以在其他测试中重复使用。所以我创建了这样的模型。
class Test < ActiveRecord::Base
has_many :test_problems
has_and_belongs_to_many :problems
has_many :problems, :through => :test_problems
belongs_to :user
attr_accessible :name, :user_id, :reusable
end
class Problem < ActiveRecord::Base
belongs_to :user
has_many :test_problems
has_and_belongs_to_many :tests
has_many :tests, :through => :test_problems
attr_accessible :name, :statement, :input, :output, :user_id , :reusable
end
class TestProblem < ActiveRecord::Base
belongs_to :test
belongs_to :problem
attr_accessible :problem_id, :test_id
end
现在我已经测试了我可以在保存后在Test Controller中正确添加关联。
@test.problems << Problem.find( :last )
我正在寻找用户如何在创建新问题时为他的测试添加许多问题。我无法编写处理此视图和控制器代码。什么是javascript是必需的。首先解决方案是好的,然后如何使用部分额外进行优化这将是很好的。
-Hemant