0

我有user model并且Language model语言模型在哪里包含不同的语言,我希望用户从该模型中选择语言,并且应该为相应的用户存储它。考虑有五种语言A, B, C, D, E,然后用户必须从这些语言中进行选择。假设user 1选择A and Cuser 2选择B and D则必须为该用户存储语言。我怎样才能做到这一点?请帮我。

4

2 回答 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 回答