我有user model
并且Language model
语言模型在哪里包含不同的语言,我希望用户从该模型中选择语言,并且应该为相应的用户存储它。考虑有五种语言A, B, C, D, E
,然后用户必须从这些语言中进行选择。假设user 1
选择A and C
而user 2
选择B and D
则必须为该用户存储语言。我怎样才能做到这一点?请帮我。
问问题
63 次
2 回答
1
您需要为多对多关系建模。如链接中所述,这可以通过声明来完成
class User < ActiveRecord::Base
has_and_belongs_to_many :languages
end
class Language < ActiveRecord::Base
has_and_belongs_to_many :users
end
并创建一个名为language_users
存储user_id
和的新表language_id
。此表中的每条记录都表示特定用户选择了特定语言。
于 2012-11-28T05:01:07.343 回答
1
您可以通过关联来做到这一点,在您的情况下,您可以尝试:
class User < ActiveRecord::Base
has_and_belongs_to_many :languages
end
和
class Language < ActiveRecord::Base
has_and_belongs_to_many :users
end
或者您可以通过以下链接进行浏览。
http://guides.rubyonrails.org/association_basics.html
http://www.tutorialspoint.com/ruby-on-rails/rails-models.htm
于 2012-11-28T05:06:51.590 回答